Ao trabalhar com herança, é fundamental entender como controlar o acesso aos atributos e métodos.

Os modificadores private e protected definem quem pode ver ou modificar elementos dentro de uma classe.


📊 Tabela Comparativa de Acesso

Modificador Mesma Classe Subclasses (herança) Mesmo Pacote Outros Pacotes
private ✅ Sim ❌ Não ❌ Não ❌ Não
protected ✅ Sim ✅ Sim ✅ Sim ❌ (exceto subclasses)

🧩 Entendendo na prática


🔒 private – O nível mais restrito

public class Ninja {
    private String jutsuSecreto = "Técnica proibida";
}

🔍 Atributo totalmente interno: só a classe sabe que ele existe.


🛡️ protected – Acesso para herança e pacote