[UML] UML(Unified Modeling Language) Diagram

2022. 1. 22. 15:08개발공부/Java

728x90

UML(Unified Modeling Language) Diagram

UML이란

시스템 설계를 시각화 하기위해 만들어진 다이어그램입니다. 객체 지향 언어인 Java 진영에선 시스템 설계를 표현하기 위한 표준 모델링으로 볼 수 있을 것 같습니다.

UML 클래스 관계도

image

[출처: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/]


  1. Inheritance(상속)

상속은 클래스가 IS-A 관계일 때 성립하는 상태입니다.(하위 클래스가 상위 클래스를 대체할 수 있어야 함; potato -> vegetables, bus -> vehicle)

*참고로 HAS-A 관계는 조립(composition) 상태일 때 성립합니다. (Bus has an Engine)

  1. Aggregation

image

[출처: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/]

class2가 class1의 부분 클래스 관계입니다. 단 객체 생성-소멸주기는 둘이 다릅니다.

  1. Composition

class1이 class2를 가질 때 즉, HAS-A 관계의 클래스 상태일 때 성립합니다. Aggregation과는 달리 객체 생성-소멸주기가 같습니다.

class2는 class1 없이는 존재할 수 없기 때문입니다.

  1. Dependency

Composition과 유사하게 class1 내에서 class2의 객체를 사용할 때 class1은 class2에 의존하며 둘은 의존관계라고 합니다.

하지만 객체가 field로 저장되지 않기 때문에 Composition 관계가 아니며 의존관계(Dependency)라고 합니다.

  1. Realization

interface를 구현한 클래스가 있을 때 Realization(구현)관계라고 합니다.


참고자료