Ответ
Инкапсуляция — это принцип ООП, который объединяет данные и методы работы с ними в одном классе, скрывая внутреннюю реализацию от внешнего мира.
Зачем нужна:
- Защита данных — предотвращение неконтролируемого изменения состояния объекта.
- Упрощение поддержки — изменение внутренней логики класса не влияет на код, который его использует.
- Контроль доступа — можно ограничить доступ к полям и методам (
private,protected).
Пример:
class User {
private var _name: String = ""
fun setName(name: String) {
if (name.isNotBlank()) {
_name = name
}
}
fun getName(): String = _name
}
Здесь поле _name скрыто, а доступ к нему контролируется через методы.