Assosiation은 양쪽이 대등하다면, Aggregation과 Composition은 전체-부분의 관계이다.
Aggregation
한 클래스가 다른 클래스를 포함하지만, 부분 클래스가 전체 클래스에 의존적이지 않는 경우
- 속성
- Transitive: B가 A의 부분이고, C가 B의 부분이면, C는 A의 부분이다.
- Asymmetric: A가 B의 부분이면서 B가 A의 부분일 수 없다.
Shared Aggregation
![](https://velog.velcdn.com/images/sang1234yun/post/baebf265-a6ab-44f0-a3ed-01a31cc22b04/image.png)
부분과 전체가 독립적으로 존재함, 부분이 전체에 약하게 소유됨
- 표현법: 전체 쪽에 빈 다이아몬드
- 전체 쪽이 1 이상의 Multiplicity를 가질 수 있음
Composition
한 클래스가 다른 클래스를 포함하고, 부분 클래스가 전체 클래스에 의존적인 경우
전체가 사라지면 부분도 사라진다.
![](https://velog.velcdn.com/images/sang1234yun/post/9cef7d50-0530-4db1-b203-fba2558d3d89/image.png)
- 표현법: 전체 쪽에 속이 찬 다이아몬드
- 전체 쪽의 Multiplicity가 반드시 1임