Tech/DDD
Value Object
Value Object
개요Value Object란 도메인 모델에서 식별자가 필요하지 않고, 속성 및 값으로 구별되는 오브젝트를 말하는데, 대표적으로 Integer, Decimal, Date, Long 등이 있다.특징엔티티가 너무 많은 책임을 가지는 것을 방지하게 하여, 특정 속성 관련 행위를 분리해서 엔티티를 더 집중된 상태로 유지하게 한다.원시 타입(예: int, long 등)보다 도메인 개념을 더 명시적으로 나타내서 모델의 명확성을 높인다.생성 이후에 상태가 변하지 않고, 변경이 필요하면 새로운 객체로 교체한다. (불변성 - immutable)풍부한 기능을 가진다.자체 유효성 검사도 가능하다.값 비교는 == 대신에 equals()로 비교한다. 이때, 값이 같으면 같은 객체로 간주한다.동등성 기준으로 비교하기 때문에 equ..