Встречается на собеседованиях • сегодня

Каки плюсы и минусы открытых полей

Плюсы:

  • Простота доступа – можно напрямую читать/изменять данные без геттеров/сеттеров
  • Упрощает код в простых случаях (например, DTO, структуры данных)
  • Меньше накладных расходов (нет вызовов методов)

Минусы:

  • Нарушение инкапсуляции – нет контроля над изменением состояния
  • Невозможно добавить валидацию/логику при изменении поля
  • Сложнее рефакторить (изменение поля влияет на всех клиентов)
  • Нет совместимости с некоторыми фреймворками (например, Hibernate требует геттеры/сеттеры)

Пример:

java
// Плохо - нарушение инкапсуляции
class Person {
    public String name;  // открытое поле
}

// Лучше
class Person {
    private String name;
    
    public String getName() { return name; }
    public void setName(String name) { 
        if (name == null) throw new IllegalArgumentException();
        this.name = name;
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы