Encapsulamento não é 'ter getter e setter pra tudo'
Pergunta
O que é encapsulamento de verdade, e por que gerar getter e setter para todos os campos privados muitas vezes derrota o propósito?
Resposta esperada
Encapsulamento é esconder o estado interno e expor operações que mantêm os invariantes do objeto. Um getter/setter para cada campo torna o objeto um saco de dados anêmico: qualquer código externo pode mexer no estado sem passar pelas regras, e você perde a garantia de que o objeto está sempre consistente. Melhor expor métodos que representam ações de domínio (`conta.sacar(valor)` que valida saldo) do que `conta.setSaldo(...)`. Setter aberto também espalha a lógica de validação pra quem chama, em vez de concentrá-la no dono do dado.
Por que perguntam isso
Pergunta pleno. Sinal de senioridade: falar de 'modelo de domínio anêmico' ou dar o exemplo do `sacar()` vs `setSaldo()`.