도메인 주도 설계를 공부하며 등장한 애그리거트라는 개념과 그 역할에 대해서 알아보자. 쇼핑몰을 구현한다고 예를 들어보면, 내부에는 무수히 복잡하고 많은 도메인 모델들이 엮여있다. Order라는 클래스는 OrderLine, ShippingInfo, PaymentInfo, Orderer 클래스들을 참조하고 또 다시 각각의 클래스들은 Receiver, Member, Product, Category 등등.. 개별의 객체 수준에서 모델을 바라보면 서로 관계를 파악하기가 어렵다. 이렇게 복잡한 도메인 객체모델들을 이해하고 관리하기 쉽도록 관련된 도메인을 하나의 상위 수준으로 묶어서 나타낸 것이 애그리거트이다. 하나의 애그리거트에 속한 객체들은 동일한 라이프사이클을 가지고, 유사성을 지닌다 (함께 생성되고 함께 변경..