UML 다이어그램 종류 (구조/행위 분류)
🔥 매회 출제 (priority 3)
🌱 왜 배우나
집을 짓기 전에 설계도가 필요하듯, 프로그램도 만들기 전에 “이 시스템에 뭐가 있고 어떻게 움직이는가”를 그림으로 표현해야 한다. 문제는, 개발자·기획자·고객이 각자 다른 방식으로 그림을 그리면 서로 말이 통하지 않는다는 것이다. UML(Unified Modeling Language, 통합 모델링 언어)은 “누구나 같은 기호로 그리자”는 국제 표준이다. UML 다이어그램은 크게 두 묶음으로 나뉜다. 멈춰 있는 구조를 보여 주는 것과, 움직이는 동작을 보여 주는 것이다. 어떤 다이어그램이 어느 묶음인지 구별하는 것이 시험의 기본이다.
📖 핵심 개념
UML은 소프트웨어 시스템을 그림으로 나타내는 표준 시각 언어다. UML 다이어그램은 두 큰 묶음으로 나뉜다.
- 구조 다이어그램(Structural Diagram) — 7종. 정적인 구조, 즉 “무엇이 있는가”를 보여 준다.
- 행위 다이어그램(Behavioral Diagram) — 7종. 동적인 동작, 즉 “어떻게 움직이는가”를 보여 준다.
행위 다이어그램 안에는 “상호작용 다이어그램(Interaction Diagram)“이라는 하위 분류가 있다. 시퀀스·커뮤니케이션·상호작용 개요·타이밍 4종이 여기에 속한다. 이 4종은 행위이면서 동시에 상호작용 다이어그램이다.
🔍 시각화
UML 다이어그램 분류 (UML 2.5 기준)
┌─────────────────────────────────────────────┐
│ UML 다이어그램 │
├───────────────────┬─────────────────────────┤
│ 구조 (7종) │ 행위 (7종) │
│ "무엇이 있는가" │ "어떻게 동작하는가" │
├───────────────────┼─────────────────────────┤
│ · 클래스 │ · 유스케이스 │
│ · 객체 │ · 활동 │
│ · 컴포넌트 │ · 상태 │
│ · 배치 │ ┌ 상호작용 다이어그램 ┐ │
│ · 복합구조 │ │ · 시퀀스 │ │
│ · 패키지 │ │ · 커뮤니케이션 │ │
│ · 프로파일 │ │ · 상호작용 개요 │ │
│ │ │ · 타이밍 │ │
│ │ └────────────────────┘ │
└───────────────────┴─────────────────────────┘
※ "배치"는 하드웨어 배치(정적)이므로 구조 다이어그램!
↔️ 이웃 개념 구분
- 구조 vs 행위 다이어그램: 구조는 “뭐가 있는가”(정적), 행위는 “어떻게 움직이는가”(동적). 배치(Deployment) 다이어그램은 이름 때문에 행위로 착각하기 쉽지만, 하드웨어 노드 배치라는 정적 정보이므로 구조에 속한다.
- 상호작용 다이어그램: 행위 다이어그램의 하위 묶음이다. 시퀀스·커뮤니케이션·상호작용 개요·타이밍 4종이 여기에 들어간다.
🔑 핵심 용어
- 구조 다이어그램 — 7종: 클래스, 객체, 컴포넌트(Component, 독립 배포 가능한 부품), 배치(Deployment, 하드웨어 노드 배치), 복합구조, 패키지(Package, 관련 요소 묶음), 프로파일. 일부 수험서는 프로파일을 빼고 6종으로 기술하기도 한다.
- 행위 다이어그램 — 7종: 유스케이스(Use Case, 사용자와 시스템의 상호작용), 시퀀스(Sequence, 시간 순서에 따른 메시지 흐름), 커뮤니케이션(Communication, 객체 간 메시지 교환), 상태(State, 상태 변화), 활동(Activity, 작업 흐름), 상호작용 개요, 타이밍.
- 상호작용 다이어그램(Interaction Diagram): 행위 다이어그램의 하위 분류. 시퀀스·커뮤니케이션·상호작용 개요·타이밍 4종이 포함된다.
- 유스케이스 다이어그램: 사용자(액터, Actor)와 시스템 간 상호작용을 표현하는 행위 다이어그램. 요구사항 분석 단계에서 가장 자주 쓴다.
✅ 스스로 가르쳐보기
이 내용을 처음 듣는 친구에게 설명한다면, 먼저 “구조는 정적, 행위는 동적”이라는 한 줄 정의부터 꺼내 보세요. 그리고 다이어그램 이름을 하나씩 부르면서 “이건 뭐가 있는가를 보여 주나, 어떻게 움직이는가를 보여 주나”를 스스로 판정해 보세요. 특히 “배치”가 왜 구조인지 본인의 말로 이유를 붙여 보면 함정을 넘길 수 있습니다.
체크포인트:
- 구조와 행위를 “정적/동적”으로 구분해 설명했는가?
- 배치 다이어그램이 구조에 속하는 이유를 말할 수 있는가?
- 상호작용 다이어그램 4종(시퀀스, 커뮤니케이션, 상호작용 개요, 타이밍)을 짚었는가?
- 유스케이스 다이어그램이 행위에 속한다는 점을 언급했는가?
🎯 기출 포인트
시퀀스·커뮤니케이션·활동·상태·유스케이스는 행위 다이어그램이다. 클래스·객체·컴포넌트·배치는 구조 다이어그램이다. 특히 “배치”를 행위로 착각하는 함정이 자주 나오니 조심. 암기법: 구조 = 정적(무엇이 있는가), 행위 = 동적(어떻게 움직이는가).