Na programação orientada a objetos, é considerado
uma boa prática controlar o acesso aos dados e aos
métodos de uma classe. Dos clientes dessa mesma
classe não se espera que conheçam detalhes da sua
implementação interna, somente a interface para fazer
uso da funcionalidade. Assim sendo, é recomendado que
dados e métodos sejam definidos respectivamente com
quais modificadores de acesso?