Инкапсуляция — это фундаментальный принцип ООП, который заключается в объединении данных (полей) и методов, работающих с этими данными, в единую сущность — объект. При этом внутреннее состояние объекта скрывается от внешнего мира, и доступ к нему осуществляется только через публичный интерфейс (публичные методы).
Смысл инкапсуляции в следующем:
Пример в Java:
java
В этом примере поле balance объявлено как private, что делает его недоступным напрямую извне класса Account. Взаимодействие с этим состоянием происходит только через публичные методы deposit(), withdraw() и getBalance(). Это гарантирует, что баланс будет всегда неотрицательным и изменяться только через предопределенные операции.