1.4 – Encapsulamento e ocultação de informação
Nós vimos que quando definimos uma classe, ela contém tudo que ela precisa para definir objetos, ou seja, ela possui atributos e os métodos necessários para que possa ser utilizada. Essa característica de autossuficiência é chamada de encapsulamento. E é uma característica é muito importante para facilitar a manutenção do código e também para garantir a segurança do código, pois qualquer alteração do comportamento da classe só poderá ser feita na própria definição da classe.
Vamos imaginar agora uma classe que represente um soldado que tenha como atributo a quantidade de balas e um método chamado Atirar. Quando o soldado atira, a quantidade de balas é reduzida. Nessa classe não é interessante que a quantidade de balas seja alterada por meio de mensagens.
Pois bem, quando definimos uma classe é possível especificar quais os atributos e métodos não serão acessíveis fora da classe. Isso significa que aqueles atributos são usados apenas internamente, bem como também é possível definir que alguns métodos só sejam chamados internamente. Isso é o que chamamos de ocultação de informação.