Fiquei com essa duvida, pois ambos me fornecem acesso as mesmas informações. Qual a diferença se eu aplicasse ambos os métodos em diversos filhos(as)?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Fiquei com essa duvida, pois ambos me fornecem acesso as mesmas informações. Qual a diferença se eu aplicasse ambos os métodos em diversos filhos(as)?
Olá,
Acredito que são coisas diferentes, o protected é uma visualização do meu atributo, a partir desse momento os meus atributos ficam disponíveis para classes do mesmo pacote.
Já o super classe é permissão de criar novas classes herdando os metodos da classe mãe, deixando tudo fluir de forma hierarquia, realizando utilização do seu código.
Existem 4 tipos de modificadores de acesso, um deles é o protected. Digamos que você tem uma classe A com atributos protected, se você for tentar acessar esse atributo por outra classe B, você consegue se ela estiver no mesmo pacote que a classe A ou se por exemplo a classe B estiver em outro pacote e quiser acessar o atributo da classe A, você precisa dizer que a classe B irá estender a A (class B extends A{}), assim você terá acesso aos atributos da classe A. O super() serve para chamar o construtor da class mãe. Por exemplo, como a class B estende A, por herança você está dizendo que classe B é A, então dentro do construtor da classe B você utiliza o super(); para chamar o construtor da classe A.
Procure saber sobre os modificadores de acesso e herança, que você irá entender a diferença dos dois.