UML의 집계와 구성의 차이점
집계와 구성의 주요 차이점
- 집계는 "갖고 있음" 관계를 설명하는 두 개체 간의 연결 유형 중 하나인 반면, 컴포지션은 소유권을 의미하는 특정 유형의 집계입니다.
- 집계는 한쪽 끝에 빈 화살촉이 있는 직선을 사용하여 표시됩니다. 반면, 구도는 어느 한쪽 끝이 채워진 화살촉이 있는 직선을 사용하여 표시됩니다.
- 집계 관계에서 서로 연결된 개체는 서로 없이 시스템 범위에 남아 있을 수 있습니다. 그러나 구성 관계에서는 서로 연결된 개체가 서로 없이 범위 내에 남아 있을 수 없습니다.
- 집계에서는 연결된 개체가 다른 개체에 종속되지 않는 반면, 구성에서는 개체가 서로 크게 종속됩니다.
- 집계에서는 단일 요소를 삭제해도 연관된 다른 요소에 영향을 주지 않습니다. 반대로 구성에서는 단일 요소를 삭제하면 연관된 다른 요소에 영향을 미칩니다.
- 집계는 채워진 다이아몬드로 표시되고, 빈 다이아몬드는 구성을 나타냅니다.

집계란 무엇입니까?
집계는 개체가 다른 개체를 '갖고' 있는 경우의 특별한 연관 사례로, 개체 간에 집계를 가질 수 있습니다. 이들 사이의 방향은 어떤 객체가 다른 객체를 포함하는지 지정하는 데 도움이 됩니다. 집계는 "Has-a" 관계라고도 합니다. 이는 연관 관계의 하위 유형입니다. UML.
작곡이란 무엇입니까?
컴포지션은 컴포지션 클래스와 하위(파트) 클래스 간의 전체 부분 관계를 지정하는 데 도움이 되는 집계의 특별한 경우입니다.
UML의 집계와 구성의 차이점
집계와 구성의 주요 차이점은 다음과 같습니다.
| 집합 | 조성 |
|---|---|
| 집계는 "갖고 있음" 관계를 설명하는 두 개체 간의 연결 유형 중 하나입니다. | 구성은 소유권을 의미하는 특정 유형의 집계입니다. |
| 집계는 한쪽 끝에 빈 화살촉이 있는 직선을 사용하여 표시됩니다. | 구성은 끝 중 하나에 화살촉이 채워진 직선을 사용하여 표시됩니다. |
| 집계는 연관 관계의 일부입니다. | 구성은 연관 관계의 일부입니다. |
| 집계는 약한 연관 유형으로 간주됩니다. | 이 작품은 강력한 유형의 연관성으로 여겨진다. |
| 집계 관계에서 서로 연결된 개체는 서로 없이 시스템 범위에 남아 있을 수 있습니다. | 구성 관계에서 서로 연결된 개체는 서로 없이 범위 내에 남아 있을 수 없습니다. |
| 집계에서 연결된 개체는 다른 개체에 종속되지 않습니다. | 구성에서 개체는 서로 크게 의존합니다. |
| 집계에서는 단일 요소를 삭제해도 연관된 다른 요소에 영향을 주지 않습니다. | 구성에서 단일 요소를 삭제하면 연관된 다른 요소에 영향을 미칩니다. |
| 예: 자동차에는 바퀴가 필요하지만 항상 같은 바퀴가 필요한 것은 아닙니다. 자동차는 다른 바퀴로도 적절하게 기능할 수 있습니다. | 예: 파일이 폴더 안에 배치됩니다. 폴더를 삭제하면 해당 폴더와 관련된 파일도 삭제됩니다. |
| 집계에서 상위 하위 엔터티와의 관계. |
구성에서 상위 엔터티는 하위 엔터티를 소유합니다. |
| 채워진 다이아몬드로 표시됩니다. | 빈 다이아몬드로 표시됩니다. |
| 아이에게는 평생이 없습니다. | 아이는 평생을 가질 수 있습니다. |
| 이는 어셈블리 클래스 옆에 있는 속이 빈 다이아몬드로 표시됩니다. | 이는 어셈블리 클래스 옆에 있는 단색 다이아몬드로 표시됩니다. |
| 어셈블리를 삭제해도 해당 부품에는 영향을 미치지 않습니다. | 클래스를 소유한 경우 객체가 삭제됩니다. 이는 포함하는 클래스 객체에도 영향을 미칩니다. |
집계 vs 구성: 주요 통계
| 집합 | 조성 | |
|---|---|---|
| 대표이사 | 소유자 없음 | 단일 소유자 |
| 수명 | 평생을 보내십시오. | 소유자의 평생. |
| 하위 개체 | 하위 개체는 모두 독립적입니다. | 하위 개체는 단일 상위 개체에 속합니다. |
구성의 예
폴더에는 많은 파일이 포함될 수 있지만 각 파일에는 정확히 하나의 폴더 상위가 있습니다. 폴더가 삭제되면 포함된 모든 파일도 제거됩니다. 복합 집계에서 개체는 한 번에 하나의 복합에만 속할 수 있습니다.
집계의 예
예를 들어, 자동차는 바퀴, 엔진, 기어박스, 스티어링, 본체 등으로 구성되어 있습니다. 자동차는 조립품이고, 다른 부품은 자동차의 구성 요소입니다.
여기서, 자동차에서 바퀴로 가는 것은 하나의 집합이고, 자동차에서 엔진으로 가는 것은 또 다른 집합이며, 자동차에서 기어박스로 가는 것은 또 다른 집합이며, 이런 식으로 계속됩니다.
이러한 유형의 페어링은 어셈블리 내의 구성 요소의 다중성을 결과로 정의하는 데 도움이 됩니다. 객체의 수도 묘사할 수 있습니다.
자동차가 제대로 작동하려면 바퀴가 필요합니다. 그러나 자동차에 대해서는 똑같이 말할 수 없습니다. 동일한 논리를 자전거, 자전거 또는 기타 모든 차량에 적용할 수 있지만 특정 자동차에는 적용할 수 없습니다.
여기서, 바퀴 객체는 자동차 객체가 없어도 의미가 있습니다. 이를 집계 관계라고 합니다.


