Java/Encapsulamento/Encapsulamento
Java⏱ ~2 min de leitura

Encapsulamento

Getters, setters e controle de acesso

Encapsulamento significa esconder os detalhes internos de um objeto e expor apenas o necessário através de uma interface pública bem definida. Em Java, isso é feito tornando atributos private e criando métodos getters e setters públicos.

Mas encapsulamento vai além de getters/setters mecânicos: é sobre controlar o que pode mudar e validar as mudanças. Um setter pode verificar se o valor é válido antes de aceitar. Um getter pode retornar uma cópia defensiva para evitar que código externo modifique a coleção interna.

O benefício real é o desacoplamento: você pode mudar a implementação interna — como o tipo do campo, a lógica de cálculo ou o formato de armazenamento — sem quebrar nenhum código externo, desde que mantenha a mesma interface pública.

Exemplo.java
public class Temperatura {
    private double celsius; // campo encapsulado

    public Temperatura(double celsius) {
        setCelsius(celsius); // usa o setter para validar
    }

    // Getter simples
    public double getCelsius() {
        return celsius;
    }

    // Getter derivado: converte sem campo extra
    public double getFahrenheit() {
        return celsius * 9.0 / 5.0 + 32;
    }

    public double getKelvin() {
        return celsius + 273.15;
    }

    // Setter com validação
    public void setCelsius(double celsius) {
        if (celsius < -273.15) {
            throw new IllegalArgumentException(
                "Temperatura abaixo do zero absoluto!");
        }
        this.celsius = celsius;
    }
}

Temperatura t = new Temperatura(25.0);
System.out.println(t.getCelsius());    // 25.0
System.out.println(t.getFahrenheit()); // 77.0
System.out.println(t.getKelvin());    // 298.15
// t.celsius = -500; // ❌ Erro de compilação: campo private
💡 Dica pro

Em projetos reais, use Lombok (@Getter, @Setter, @Data) ou Java Records para evitar boilerplate. Mas entenda o que eles geram por baixo antes de usá-los.

Recompensa+30 XP+exercícios