почему и как методы StringBuilder могут изменять private final поле через геттер?

почему и как методы StringBuilder могут изменять private final поле?

public class Employee {

    private final StringBuilder name = new StringBuilder("value");

    public StringBuilder getName() {
        return name;
    }

    public static void main(String[] args) {

        var employee = new Employee();

        System.out.println(employee.getName());

        employee.getName().append("1");

        System.out.println(employee.getName());
    }
}

вывод: value
value1

как так?


Ответы (0 шт):