Инкапсуляция — это механизм, объединяющий данные и методы (функции), работающие с этими данными, в единый объект. При этом реализация внутренних деталей объекта скрывается от внешнего мира, предоставляя доступ к данным только через определенный интерфейс (публичные методы).
Основные цели:
- Сокрытие данных: Предотвращает прямой доступ к внутренним состояниям объекта, защищая их от некорректного изменения.
- Контроль доступа: Позволяет определить, какие части объекта доступны извне.
- Управляемость: Упрощает изменение внутренней реализации без влияния на код, использующий этот объект.
- Безопасность: Обеспечивает целостность данных.
Пример на Java:
java