Mutable 객체는 변경 가능 객체이고, Immutable 객체는 불변 객체라고 흔히들 말합니다.
Mutable 객체는 도메인 개체(도메인 클래스 혹은 엔티티)로 사용됩니다.
Mutable 객체의 변경 메서드는 Command method라고도 부르며, 리턴 타입을 void로 정의합니다.
또한 void 리턴 타입의 어떤 상태를 변경하는 매서드는 모두 Command method의 상징입니다.
Immutable 객체는 불변 객체이며 값 객체, 서비스 객체 등에 사용됩니다.
Immutable 객체의 변경 메서드는 변경한 객체의 복사본을 반환해야 합니다.
불변 객체는 Thread-safe 하여 멀티 스레드 환경에서 사용 가능
'Back-end > Java' 카테고리의 다른 글
[Java] equals() 와 hashCode() (0) | 2022.03.07 |
---|---|
[Java] 자바에서 null을 안전하게 다루는 방법 (0) | 2021.11.21 |
[Java] 직렬화와 역직렬화 (0) | 2021.11.21 |
[Java] 강한 결합과 느슨한 결합 (0) | 2021.11.21 |
[Java] try-with-resources (0) | 2021.11.21 |