Ответ
Приватные поля в Kotlin/Java помогают скрыть внутреннюю реализацию класса, предотвращая прямое изменение состояния извне. Это ключевой принцип инкапсуляции.
Пример:
class User {
private var age: Int = 0
fun setAge(newAge: Int) {
if (newAge >= 0) { // Валидация
age = newAge
}
}
fun getAge() = age
}
Плюсы:
- Контроль доступа (только через методы)
- Возможность добавить логику (валидацию, логгирование)
- Защита от некорректных изменений
- Гибкость при изменении реализации
Без private поле age можно изменить напрямую, что может привести к невалидным состояниям (например, отрицательный возраст).