추상 일반화는 일반화나 클래스 간의 상속 관계와 매우 유사합니다. 추상 일반화를 통해, 상위 클래스는 하위 클래스가 특정 기능을 상속하여 인터페이스를 작성하도록 강제 실행합니다.
예를 들어, C/C++ 클래스 및 추상 일반화를 시각화할 때 상위 클래스는 인터페이스 또는 디자인 템플리트가 될 수 있습니다. Vehicle 클래스는 추상 일반화를 사용하는 상위 클래스입니다. Vehicle 클래스는 모든 하위가 특정 오퍼레이션을 사용하도록 강제 실행해서 이 하위에 대한 디자인 템플리트 또는 인터페이스가 됩니다. 하위 클래스인 Boat는 Vehicle 클래스로부터 여러 오퍼레이션을 상속합니다. 이 오퍼레이션을 사용하지 않고는 Boat 클래스를 구현할 수 없습니다. 따라서 Vehicle 클래스는 모든 하위에 대한 디자인 인터페이스 역할을 합니다.
도메인 모델링 클래스 다이어그램에서, 추상 일반화는 클래스의 제목을 다른 클래스와 차별화해서 표시됩니다. 추상 일반화를 사용하는 상위 클래스에는 클래스 제목(기울임체)이 있습니다. 또한 하위가 상속한 모든 오퍼레이션(순수 가상 오퍼레이션)도 기울임체로 표시됩니다.
다음 그림은 일반 일반화 관계와 추상 일반화 관계 간의 차이점을 보여줍니다.
| C/C++ 일반 일반화 | C/C++ 추상 일반화 |
![]() |
![]() |