UML의 관계(Relationships)
1. 관계 개요
UML에서 관계는 사물(Things) 간의 연관성을 표현하는 요소입니다. 관계는 시스템을 보다 명확히 이해하고 표현할 수 있도록 도와줍니다.
- 관계의 주요 종류:
- 연관 관계 (Association)
- 집합 관계 (Aggregation)
- 포함 관계 (Composition)
- 일반화 관계 (Generalization)
- 의존 관계 (Dependency)
- 실체화 관계 (Realization)
2. 관계의 종류와 특징
2.1. 연관 관계 (Association)
- 정의: 두 개 이상의 사물이 서로 연관되어 있음을 표현.
- 표현 방법:
- 실선으로 연결.
- 방향성이 있는 경우 화살표를 사용.
- 양방향 관계일 경우 화살표 생략.
- 다중도(Multiplicity):
- 연관 관계에서 개체 수를 표시.
- 예시:
1
: 하나의 개체가 연관.
*
: 다수의 개체가 연관.
0..1
: 0개 또는 1개의 개체가 연관.
1..*
: 최소 1개 이상의 개체가 연관.
예제
- 사람 ↔ 집:
사람
은 집
을 1개 소유, 집
은 1명의 사람
에 의해 소유.
2.2. 집합 관계 (Aggregation)
- 정의: 하나의 사물이 다른 사물에 부분적으로 포함되는 관계.
- 특징:
- 표현 방법:
예제
- 컴퓨터 ↔ 프린터:
프린터
는 컴퓨터
없이도 사용 가능.
2.3. 포함 관계 (Composition)
- 정의: 집합 관계의 특수한 형태로, 전체와 부분이 생명 주기를 공유.
- 특징:
- 표현 방법:
예제
- 문 ↔ 열쇠:
열쇠
가 없으면 문
을 사용할 수 없음.
2.4. 일반화 관계 (Generalization)
- 정의: 하나의 사물이 다른 사물보다 더 일반적이거나 구체적인 관계.
- 특징:
- 표현 방법:
예제
- 아메리카노 ↔ 커피:
아메리카노
는 커피
의 하위 클래스.
2.5. 의존 관계 (Dependency)
- 정의: 두 사물 간에 짧은 시간 동안 상호작용하는 관계.
- 특징:
- 표현 방법:
예제
- 고객 등급 ↔ 할인율: 고객 등급에 따라 할인율이 달라짐.
2.6. 실체화 관계 (Realization)
- 정의: 사물이 특정 기능이나 역할을 수행하는 관계.
- 표현 방법:
예제
- 비행기 ↔ 날 수 있다:
비행기
는 날 수 있다
기능을 수행.
3. UML 관계 표현 요약
관계 종류 | 설명 | 표현 방법 |
---|
연관 관계 | 사물 간 연관성 | 실선, 방향성 있을 경우 화살표 |
집합 관계 | 독립적인 전체-부분 관계 | 빈 마름모 |
포함 관계 | 생명 주기를 공유하는 전체-부분 관계 | 꽉 찬 마름모 |
일반화 관계 | 상위-하위 관계 | 빈 화살표 |
의존 관계 | 짧은 시간 동안 상호작용하는 관계 | 점선 화살표 |
실체화 관계 | 기능 수행 관계 | 점선 화살표 |
4. 학습 포인트
- UML 6가지 관계 종류와 표현 방식을 정확히 이해.
- 관계의 특징과 표현 형식 숙지.
- 시험 대비:
- 관계 설명과 해당 관계 유형 매칭.
- 관계 표현에 대한 문제 해결 능력.