Por que declaramos campos particulares quando temos acessadores e mutadores? [duplicado]

Esta pergunta já tem uma resposta aqui:

Por que o método getter e setter é importante em java? [duplicado] 6 respostas

Se eu criar uma aula em Java, sempre me ensinaram que a convenção é tornar todos os campos de uma aula privados. Se precisar acessá-los ou alterá-los, posso criar um método acessador e mutador. Entendo a importância das variáveis privadas, pois elas ajudam a reduzir a complexidade e permitem o encapsulamento.

O que não entendo é que, se eu criar um método público de acesso e mutação, a variável public não será nesse momento? Por que ainda é convenção usar variáveis privadas em situações em que alguém pode acessá-las?

Devo também observar que entendo o importante desses métodos, mas gostaria de saber por que nos preocupamos em tornar a variável privadaApesar de estamos dando acesso a alguém através desses métodos?

questionAnswers(2)

yourAnswerToTheQuestion