일반화 관계

UML 모델링에서 일반화 관계는 하나의 모델 요소(하위)가 다른 모델 요소(상위)를 기반으로 하는 관계입니다. 일반화 관계는 클래스, 컴포넌트, 배치 및 유스 케이스 다이어그램에 사용되어 하위가 상위에 정의된 모든 속성, 오퍼레이션 및 관계를 받음을 나타냅니다.

UML 시맨틱에 맞추려면 일반화 관계의 모델 요소가 동일한 유형이어야 합니다. 예를 들어, 액터 사이나 유스 케이스 사이에 일반화 관계를 사용할 수 있지만 액터와 유스 케이스 간에는 사용할 수 없습니다.

일반화 관계를 추가하여 상위 모델 요소의 속성, 오퍼레이션 및 관계를 캡처한 다음 하나 이상의 하위 모델 요소에서 이를 재사용할 수 있습니다. 일반화의 하위 모델 요소는 상위의 속성, 오퍼레이션 및 관계를 상속하기 때문에 하위에 대해서는 상위와 구별되는 속성, 오퍼레이션 또는 관계만 정의해야 합니다.

상위 모델 요소에는 하나 이상의 하위가 있을 수 있으며 하위 모델 요소에는 하나 이상의 상위가 있을 수 있습니다. 단일 상위 모델 요소에 여러 하위 모델 요소가 있는 것이 보다 일반적입니다.

일반화 관계에는 이름이 없습니다.

다음 그림에 표시된 대로, 일반화 관계는 다이어그램 편집기에 하위 모델 요소에서부터 상위 모델 요소까지 가리키는 빈 화살촉이 있는 실선으로 표시됩니다.

단일 상위와 단일 하위

단일 상위와 복수 하위

Child 클래스는 Parent 클래스를 일반화합니다. Child1 및 Child2 클래스는 Parent 클래스를 일반화합니다.

예제

다음 그림은 다양한 상품을 판매하는 웹 사이트의 전자상거래 애플리케이션을 나타냅니다. 응용프로그램에는 상위 클래스(수퍼 클래스라고도 부름)인 InventoryItem 클래스가 있습니다. 이 클래스는 모든 상품이 사용하는 Price와 같은 속성 및 setPrice와 같은 오퍼레이션을 포함합니다.

상위 클래스를 정의한 후 하위 클래스(서브클래스라고도 부름)가 서적 및 DVD와 같은 각 상품 유형에 대해 작성됩니다. 서적 클래스는 명세 클래스의 속성과 오퍼레이션을 사용한 다음 작성자와 같은 속성 및 setAuthor와 오퍼레이션을 추가합니다. DVD 클래스도 명세 클래스의 속성과 오퍼레이션을 사용하지만 서적 클래스의 것과 다른 속성(예: 제조업체) 및 오퍼레이션(예: setManufacturer)을 추가합니다.

이전 단락에 설명된 예제의 일러스트레이션입니다.

피드백