UML 다이어그램에서 관계는 여러 항목을 연결하는 데 사용됩니다. 구조적, 행동적, 그룹화 사물 간의 연결입니다. 다음은 아래에 나열된 표준 UML 관계입니다.
- 협회
- 의존
- 일반화
- 실현
협회
연관 관계는 시스템 내에서 서로 다른 개체가 연결되는 구조적 관계입니다. 이는 활동을 나타내는 개체 간의 이진 관계를 나타냅니다. 이는 교사와 같은 개체 간의 관계가 여러 교사와 연결될 수 있음을 나타냅니다.
이는 클래스 사이의 선과 방향을 탐색하는 화살표로 표시되며, 화살표가 양쪽에 있는 경우 이를 양방향 연관이라고 합니다. 연관을 표시하는 선에 장식을 추가하여 연관의 다중성을 지정할 수 있습니다.
예:
1) 한 명의 교사가 여러 명의 학생을 가지고 있다.
2) 한 명의 학생이 여러 명의 교사와 교제할 수 있습니다.
구성과 집계는 연관의 두 가지 하위 집합입니다. 두 경우 모두 한 클래스의 객체는 다른 클래스의 객체가 소유합니다. 유일한 차이점은 구성에서는 자식이 부모와 독립적으로 존재하지 않는 반면, 집합에서는 자식이 부모에 종속되지 않는다는 것입니다. 즉, 독립형입니다. 집계는 연관의 특별한 형태이고 구성은 집계의 특별한 형태입니다.
집합
집계는 연관의 하위 집합이며 다양한 항목의 모음입니다. 관계가 있음을 나타냅니다. 협회보다 더 구체적입니다. 부분-전체 또는 부분-관계를 설명합니다. 이는 이진 연관입니다. 즉, 두 개의 클래스만 포함합니다. 이는 자녀가 부모로부터 독립된 일종의 관계입니다.
자바 정렬 배열 목록
예를 들어:
여기서 우리는 자동차와 바퀴의 예를 고려하고 있습니다. 자동차는 바퀴가 없으면 움직일 수 없습니다. 그러나 바퀴는 자전거, 스쿠터, 자전거 또는 기타 차량과 함께 독립적으로 사용할 수 있습니다. 바퀴 객체는 자동차 객체 없이도 존재할 수 있으며, 이는 집합 관계임이 입증됩니다.
구성
구성은 집합의 일부이며, 전체 부분의 관계를 묘사한다. 이는 복합(상위)과 해당 부분(하위) 간의 종속성을 나타냅니다. 즉, 복합이 삭제되면 해당 부분도 삭제됩니다. 유사한 객체 사이에 존재합니다.
아래 예제에서 볼 수 있듯이 컴포지션 연관 관계는 Person 클래스를 Brain 클래스, Heart 클래스 및 Legs 클래스와 연결합니다. 사람이 파괴되면 뇌, 심장, 다리도 폐기됩니다.
연관 vs. 집계 vs. 구성
협회 | 집합 | 구성 |
---|---|---|
연관관계는 화살표로 표현됩니다. | 집계 관계는 한쪽 끝에 빈 다이아몬드가 있는 직선으로 표현됩니다. | 구성 관계는 한쪽 끝에 검은색 다이아몬드가 있는 직선으로 표현됩니다. |
UML에서는 두 개 이상의 클래스 사이에 존재할 수 있습니다. | 이는 협회 관계의 일부입니다. | 이는 집계 관계의 일부입니다. |
이는 클래스 간의 일대일, 일대다, 다대일 및 다대다 연관을 통합합니다. | 일종의 약한 관계를 보여줍니다. | 강한 유형의 관계를 보여줍니다. |
하나 이상의 개체를 함께 연결할 수 있습니다. | 집계 관계에서 연관된 개체는 시스템 범위 내에서 독립적으로 존재합니다. | 구성 관계에서 연관된 객체는 시스템 범위 내에서 독립적으로 존재할 수 없습니다. |
여기서 개체는 서로 연결됩니다. | 여기서 연결된 개체는 서로 독립적입니다. | 여기서 연결된 개체는 서로 종속됩니다. |
한 요소가 삭제되면 관련된 다른 요소에 영향을 미칠 수도 있고 그렇지 않을 수도 있습니다. | 집계 관계에서 한 요소를 삭제해도 연관된 다른 요소에는 영향을 미치지 않습니다. | 연관된 요소 중 하나가 삭제되면 다른 요소에 영향을 미칩니다. |
예: 교사는 여러 학생과 연관될 수 있으며, 한 학생은 여러 교사와 연관될 수 있습니다. | 예: 자동차가 제대로 작동하려면 바퀴가 필요하지만 동일한 바퀴가 필요하지 않을 수도 있습니다. 다른 바퀴에서도 작동할 수 있습니다. | 예: 파일이 폴더에 저장되어 있는 경우 해당 폴더가 삭제됩니다. 해당 폴더 안에 있는 파일도 폴더 삭제 시 삭제됩니다. |