Encapsulation
La encapsulación une los datos con sus operaciones, oculta la implementación interna y expone solo una interfaz, controlando el acceso externo para proteger los invariantes.
Propósito
El ocultamiento de información reduce el acoplamiento y protege los invariantes de los objetos, un núcleo de la orientación a objetos.
Mecanismo
Control de acceso: public/private/protected. Los campos privados solo son accesibles dentro de la clase; los métodos públicos dan acceso controlado. Los invariantes se mantienen a la entrada y salida de los métodos. Los records de Java, las propiedades de C# y pub de Rust son mecanismos de encapsulación.
Casos de uso
- Diseño orientado a objetos
- Ocultamiento de información
- Diseño de API