Um dos pilares da programação orientada a objetos é o encapsulamento,
como o próprio nome diz encapsular nada mais é do que proteger os dados
referentes a um objeto. A interação entre as classes se dá a partir de
métodos, sendo assim a classe que está chamando uma outra classe não
precisa implementar novamente toda a lógica de programação que já foi
aplicada. Esse conceito permite que um serviço, por exemplo, possa ser
disponibilizado para uma aplicação sem que a aplicação necessariamente
precise entender e implementar todos os métodos, além disso, todos os
controles necessários para que o serviço funcione corretamente ficam por
conta do serviço e não dá classe que o está chamando.
Analisando uma situação corriqueira percebemos o quanto o conceito de encapsulamento
é amplamente utilizado. Por exemplo, ao se ligar o carro não sabemos o
que acontece na parte mecânica, esperamos somente que o carro ligue e
com isso comece a se mover. Se fôssemos implementar esses dois objetos
não precisaríamos implementar todos os controles referentes
a automóvel dentro da classe pessoa, liberaríamos para a classe pessoa
somente o que é pertinente a ela.
O conceito de encapsulamento auxilia em alguns pontos principais, como:
- Proteção de variáveis importantes que precisam ser controladas dentro de uma classe;
- Implementação de controles personalizados dentro de uma classe;
- Maior controle das informações que serão gravadas no banco de dados.
As vantagens na utilização do OO são inúmeras e existe uma gama muito
grande de possibilidades de trabalho, essa metodologia juntamente com
uma boa ferramenta de desenvolvimento fazem com que um projeto de
desenvolvimento seja sucesso.
Fonte: http://www.scriptcase.com.br/blog/encapsulamento-programacao-orientada-a-objetos/