🛡️ Modificadores de acesso no Java (a.k.a. os "porteiros" da programação)
- #Java
- #C#
- #Python
- #JavaScript
Esses caras — public, private e protected — controlam quem pode acessar o quê dentro do seu código. Tipo segurança de balada VIP: só entra quem tá na lista.
🔓 public – Porta escancarada
Acesso total. Qualquer classe, de qualquer pacote, pode acessar.
Analogia: É tipo uma conta do Instagram aberta. Todo mundo vê o que você posta, até a sua ex, o RH da empresa, e aquele bot russo.
java
CopiarEditar
public class Cachorro {
public String nome;
}
Você pode acessar nome de qualquer lugar do projeto.
🔒 private – Modo ninja
Acesso restrito ao máximo. Só a própria classe consegue ver.
Analogia: É o diário com cadeado que você escondia debaixo da cama. Nem a JVM lê sem permissão.
java
CopiarEditar
public class Cachorro {
private String segredoCanino;
}
Se tentar acessar segredoCanino de fora da classe Cachorro: erro na sua cara.
🛂 protected – Meio-termo controlado
Acesso para:
- A mesma classe
- As subclasses (herança)
- As classes do mesmo pacote
Analogia: É tipo um grupo de WhatsApp da família — só entra quem é da família ou quem casou com alguém da família (herança 💍).
java
CopiarEditar
public class Animal {
protected void emitirSom() {
System.out.println("Som genérico");
}
}
Subclasse Cachorro pode usar emitirSom(). Classe aleatória fora do pacote? Nem tenta.
⚪ (Sem nada) – Default (ou "package-private")
Se você não colocar nenhum modificador, o acesso é permitido somente dentro do mesmo pacote.
java
CopiarEditar
class Gato {
void miar() {
System.out.println("Miau");
}
}
Essa classe e seu método só são visíveis no pacote onde estão.
📊 Comparativo rapidão
Modificador | Mesmo pacote | Subclasse (outro pacote) |Fora do pacote
public✅ | ✅ | ✅
protected✅ | ✅ | ❌
(default) ✅ | ❌ | ❌
private ❌ | ❌ | ❌
💡 Dica de ouro:
Use private o máximo possível. Quanto menos partes do seu código forem expostas, menos dor de cabeça no futuro. Segurança e manutenção agradecem. Faça seus atributos private e crie getters/setters se precisar dar acesso controlado.



