[Java] UML Symbol(클래스 간의 관계)

UML Symbol

UML에서 클래스 다이어그램을 나타낼 때, 클래스 간의 관계를 표현하는 UML Symbol을 알아보자.

클래스 다이어그램

UML의 구조 다이어그램 중 클래스의 논리적인 구조를 정적으로 표현하는 것으로, 클래스들 간의 관계를 클래스 다이어그램으로 볼 수 있다.

UML Symbol

1

출처 : http://www.ivencia.com

이미지의 순서대로 UML Symbol을 살펴보자.

2

  • 연관 관계 : 두 클래스가 연관(일반적으로 한 클래스가 다른 클래스를 사용할 때) 되어 있을 때는 위와 같이 표현한다. 의존관계와는 다르게 오랜 기간 두 객체가 협력관계를 수행할 때 연관 관계로 분류한다.

    3
  • 의존 관계 : 연관 관계와 한 클래스가 다른 클래스를 사용할 때인 것은 같으나, 연관 관계와는 다르게 두 객체가 오랜 기간 협력 관계를 수행하는 것이 아닌 협력 관계가 매번 달라질 때 의존 관계로 분류하며, 위와 같이 나타낸다.

    4
  • 일반화 관계 : 일반화 관계(한 클래스가 다른 클래스를 포함하는 상위 개념)일 때의 표시를 위와 같이 할 수 있으며, 화살표는 상위 클래스를 가리켜야 한다.

    5
  • 인터페이스와 실체화 관계의 또 다른 표현 : 위와 같은 표현을 실체화 관계를 표현할 수도 있다. 혹은 가장 상단의 그림처럼 인터페이스를 작은 원형으로 표현한 후 실선으로 실체화 클래스를 이어주는 표현도 가능하다.

    6
  • 연관 관계에서의 방향성 표시 : 연관관계 중 단방향 연관관계를 위와 같이 표시할 수 있다. 단방향 연관관계는 자신에게 향하는 클래스의 존재를 모르고, 다른 한쪽만 존재를 알 수 있다.

    7
  • 집약 관계 : 집합 관계 중 하나로써 전체 객체와 부분 객체의 생명주기가 다를 때 집약 관계로 정의하고 위와 같이 표현한다.

    8
  • 합성 관계 : 집합 관계 중 하나로써 전체 객체와 부분 객체의 생명주기가 같을 때 합성 관계로 정의하고 위와 같이 표현한다.