Вопрос проверяет умение проектировать неизменяемые объекты и защищаться от побочных изменений состояния.
Короткий ответ
Неизменяемость достигается за счет запрета изменения внутреннего состояния. Для изменяемых полей используется защитное копирование. Объект не должен предоставлять сеттеры. При доступе к полям возвращаются копии, а не оригиналы. Это предотвращает внешнее влияние на состояние объекта.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.