UML - Class Diagram

Lily·2021년 11월 6일
0

UML(Unified Modeling Language)


통합 모델링 언어, UML은 객체 지향 프로그래밍에서 코드를 시각화, 명세화, 문서화하기위해 객체관리그룹에서 만든 언어입니다.

사용 목적

프로그램의 코드를 나, 협업자에게 설명하고 이해를 돕기위해 사용할 수 있어요.

diagram으로 도식화하고 시각화하면
전체 구조를 한 눈에 파악하기가 더 쉽고, 의사소통에 이용할 수 있습니다

Class Diagram

UML diagram은 크게 두가지 타입이 있습니다.

  • Structure Diagrams (구조 다이어그램)
  • Behavior Diagrams (행위 다이어그램)

그 중 Structual Diagram에 해당하는 Class Diagram은 클래스간의 관계를 표현한 diagram입니다. 서로 어떻게 참조되고 있는지 의존성을 파악할 수 있으며, 순환루프를 끊는 힌트가 될 수 있습니다🕵🏻‍♀️

UML 표기법

참고글
[UML] 클래스 다이어그램 작성법


관계

연관 관계 (association) ⏤

클래스들이 개념상 연결되어 있음.
한 클래스가 다른 클래스의 멤버 변수로 정의 되어 있는 경우.

연관 관계는 방향성을 가질 수 있습니다.

  • 단방향(←) : 한쪽의 클래스만 다른 클래스를 참조하고 있을 때, 화살은 참조하는 클래스 쪽으로 향하게.
  • 양방향(⏤) : 양쪽의 클래스 모두 서로를 참조하고 있을 때

의존 관계 (dependancy) ⁃ ⁃ ⁃

연관 관계와 같이 한 클래스가 다른 클래스를 참조하고 있지만, 메서드를 실행하는 동안만 같은 짧은 시간 동안만 관계가 유지된다는 점이 다르다.

  • 연산의 argument로 사용될 때
  • 메서드 내부의 지역 객체로 참조될 때

집약 관계 (aggregation)/ 합성 관계(composition)

연관 관계의 특별한 경우로, 전체와 부분의 관계를 명확하게 명시하고자 할때 사용합니다.

두 클래스간의 life time 의존성에 따라,
life time이 의존적인 합성(◆)과, 독립적인 집약(◇)으로 나눌 수 있습니다.

전체를 향하는 클래스에 다이아몬드를 붙입니다.


🖌 Tool

  • lucid chart: 팀원과 동시에 수정 가능
  • Gliffy Diagram
  • drawio
  • miro
profile
i🍎S 개발을 합니다

0개의 댓글