Article image
Marcos Silva
Marcos Silva31/07/2025 21:05
Compartilhe

🛡️ 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.

Compartilhe
Comentários (1)
Gilberto Ferrari
Gilberto Ferrari - 01/08/2025 08:24

Orimo. Bem explicado!