Sobes.tech
Назад к вопросам
Junior — Middle
62

Каким образом в Java достигается сокрытие данных и контроль доступа к ним через механизмы инкапсуляции?

Ответ от нейросети

sobes.tech AI

В Java инкапсуляция достигается с помощью модификаторов доступа и методов доступа (геттеров и сеттеров). Это позволяет скрыть внутренние данные класса и контролировать к ним доступ.

Основные модификаторы доступа:

  • private — доступ только внутри класса.
  • default (package-private) — доступ внутри пакета.
  • protected — доступ внутри пакета и подклассам.
  • public — доступ отовсюду.

Пример:

public class Person {
    private String name; // скрытое поле

    public String getName() { // контролируем доступ
        return name;
    }

    public void setName(String name) {
        if(name != null && !name.isEmpty()) {
            this.name = name; // валидация при установке
        }
    }
}

Таким образом, внутреннее состояние объекта защищено от прямого изменения извне, а доступ к данным происходит через методы, где можно добавить логику проверки или ограничения.