Зачем нужны приватные поля

«Зачем нужны приватные поля» — вопрос из категории ООП, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Приватные поля в Kotlin/Java помогают скрыть внутреннюю реализацию класса, предотвращая прямое изменение состояния извне. Это ключевой принцип инкапсуляции.

Пример:

class User {
    private var age: Int = 0

    fun setAge(newAge: Int) {
        if (newAge >= 0) { // Валидация
            age = newAge
        }
    }

    fun getAge() = age
}

Плюсы:

  • Контроль доступа (только через методы)
  • Возможность добавить логику (валидацию, логгирование)
  • Защита от некорректных изменений
  • Гибкость при изменении реализации

Без private поле age можно изменить напрямую, что может привести к невалидным состояниям (например, отрицательный возраст).