Qué es encapsulamiento
https://engineerdesistemas.blogspot.com/2016/06/que-es-encapsulamiento.html
Realizando una analogía para comprender lo que es encapsulamiento
Solo basta con pensar en una cápsula de una nave espacial, una cápsula médica, o un envase para alimentos. Esa es la idea de que hay algo que rodea al código, para proteger esos contenidos, agrupar esos atributos y sus conductas en una misma unidad.Pero también se puede restringir el acceso a los mecanismos internos de una clase, se lo conoce también como ocultamiento de datos. Un objeto no debe revelar nada de sí mismo excepto lo estrictamente necesario.
Por ejemplo en nuestra clase cuentaBancaria no queremos que alguna otra parte de nuestra aplicación pueda introducirse y cambiar ciertas propiedades como saldo y otros sin pasar por determinados comportamientos. Los cuales deben modificarse solo con los métodos propios del objeto.
Este concepto también se lo conoce como el método de la "caja negra" o "black box", se sabe lo que entra y lo que sale de la caja negra, pero no sabemos los procesos que suceden dentro de la caja.
Es una ventaja de crear objetos de manera más segura mediante el encapsulamiento.
Por tanto se trata de reducir las dependencias entre las diferentes partes de la aplicación y no caiga en cascada y requiera cambios en diferentes niveles de la aplicación.
Finalmente nuestros esfuerzos estarán dirigidos a realizar abstracción y encapsulamiento nuestras clases para que sean útiles al momento de crear otras clases.