UML 다이어그램
요약
정처기 실기 단골 문제인 UML(Unified Modeling Language)의 기본 개념부터 다양한 다이어그램 종류를 알아봅니다. 정처기 대비를 위한 외우는 방법과 주관식 문제가 포함되어 있습니다.
UML 다이어그램 요약표
구분 | 다이어그램 | 키워드 |
---|---|---|
구조 다이어그램 (정적 모델) | 클래스 | 속성, 메서드, 클래스 관계 |
객체 | 특정 시점의 인스턴스, 실제 예시 | |
컴포넌트 | 물리적 컴포넌트, 의존성 | |
배치 | 컴포넌트 종속성 , 물리적 요소 위치 | |
복합체 구조 | 클래스 내부 구조, 협력 관계 | |
패키지 | 관련된 요소들의 그룹화 |
구분 | 다이어그램 | 키워드 |
---|---|---|
행위 다이어그램 (동적 모델) | 유스케이스 | 사용자 관점, 시스템 기능, 상호작용 |
시퀀스 | 시간 흐름 , 메시지 흐름 | |
커뮤니케이션 | 객체 간의 관계와 메시지 교환 에 집중 | |
상태 | 하나의 객체가 겪는 상태 변화 | |
활동 | 작업의 흐름, 처리 로직, 처리 흐름 | |
타이밍 | 시간 제약 에 따른 객체 상태 변화 |
UML 다이어그램 외우는 방법
아래 이미지는 닥터 스트레인지(베네딕트 컴배 비치1)가 젤다의 전설의 시커스톤2을 들고 있는 이미지입니다.

구조 다이어그램(정적 모델)의 경우 "클객 컴배 복패" 인데요 닥터 스트레인지의 주인공 베네딕트 '컴배'비치를 떠올리세요. 행위 다이어그램(동적 모델)의 경우 "유 시커 상활타" 입니다. 젤다의 전설에 나오는 '시커'스톤을 떠올리세요.
암기 순서
- UML 다이어그램 종류는 베네딕트 컴배비치가 시커스톤을 손에 올리고 있는 모습
- 구조 다이어그램(정적 모델) = 컴배비치 -> 클객컴배복패
- 행위 다이어그램(동적 모델) = 시커스톤 -> 유시커상활타
- 클객컴배복패 = 클래스, 객체, 컴포넌트, 배치, 복합체, 패키지
- 유시커상활타 = 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 타이밍
UML이란 무엇일까요?
소프트웨어를 개발하는 과정은 마치 멋진 건물을 짓는 것과 같아요. 고객의 요구사항을 듣고(도출), 그게 정말 가능한지 분석하고(분석), 설계도를 그리고(명세화), 설계도대로 잘 지어졌는지 확인(검증)하는 단계를 거치죠.
이 과정에서 요구사항을 분석하고 설계도를 그리는 단계에서 사용하는 핵심 도구가 바로 UML(Unified Modeling Language) 입니다.

UML은 이름 그대로 '통합 모델링 언어'예요. 복잡한 시스템을 이해하기 쉬운 그림(다이어그램)으로 표현하는 표준화 약속이죠. 코드를 작성하기 전에 시스템의 구조와 동작을 시각적으로 설계하고, 개발자들끼리 "우리 이렇게 만들자!"라고 명확하게 소통할 수 있게 도와주는 청사진 역할을 합니다.
UML은 구조 다이어그램과 행위 다이어그램으로 나뉩니다.
구조 다이어그램 (정적 모델)
시스템의 뼈대, 즉 정적인 구조를 보여줍니다.
클래스 다이어그램
시스템을 구성하는 클래스와 그들 간의 관계(상속, 연관 등)를 보여주는 가장 대표적인 다이어그램입니다. 클래스 다이어그램은 속성(attribute)과 메서드(method)를 포함하여 클래스의 구조를 표현하며, 도메인3 구조를 나타내어 보이지 않는 도메인 내 추상적인 개념을 표현합니다.
클래스 다이어그램 예시 보기
객체 다이어그램
특정 시점의 객체와 그 관계를 보여줍니다. 클래스 다이어그램의 실제 예시(인스턴스)라고 할 수 있죠. 예시: Example of an object diagram.(위키피디아)
컴포넌트 다이어그램
시스템을 구성하는 물리적인 컴포넌트(모듈, 파일)와 그 의존성을 보여줍니다. 예시: 보험 정책 관리 시스템의 컴포넌트 다이어그램(위키피디아)
배치 다이어그램
컴포넌트 사이의 종속성을 표현하고 소프트웨어가 어떤 하드웨어(서버, 장비)에 어떻게 배치되는지 보여줍니다. 예시: A sample deployment diagram(위키피디아)
복합체 구조 다이어그램
클래스의 내부 구조와 그 클래스가 다른 클래스들과 어떻게 협력하는지를 보여줍니다. 클래스 다이어그램이 "무엇이 있는가?"를 보여준다면, 복합체 구조 다이어그램은 "그것들이 어떻게 함께 작동하는가?"를 보여줍니다. 예시: UML 2.0 복합체 구조 다이어그램 예시(위키피디아)
패키지 다이어그램
관련된 요소들을 그룹화한 패키지들의 관계를 보여줍니다.(폴더와 비슷하게 생겼습니다.) 예시: Deployment Model Structure.PNG(위키피디아, Kishorekumar 62)
행위 다이어그램 (동적 모델)
시스템이 실제로 어떻게 동작하는지, 시간의 흐름에 따른 변화를 보여줍니다.
유스케이스 다이어그램
사용자의 관점에서 시스템이 제공하는 기능과 상호작용을 보여줍니다. 예시: UML 유스케이스 다이어그램(위키피디아)
시퀀스 다이어그램
객체들이 메시지를 주고받으며 상호작용하는 순서를 시간의 흐름 에 따라 보여줍니다. 예시: 시퀀스 다이어그램 예시(위키피디아)
커뮤니케이션 다이어그램
시퀀스 다이어그램과 유사하지만, 시간 순서보다는 객체들 간의 관계와 메시지 교환에 중점을 둡니다. 객체들이 어떻게 연결되어 있고 어떤 메시지를 주고받는지를 보여줍니다.예시: UML 커뮤니케이션 다이어그램 예시(위키피디아)
상태 다이어그램
하나의 객체가 특정 이벤트에 따라 상태가 어떻게 변하는지를 보여줍니다.
상태 다이어그램 예시 보기
활동 다이어그램
작업의 흐름이나 프로세스를 순서도로 표현합니다. 예시: UML 1.x 액티비티 다이어그램(위키피디아)
타이밍 다이어그램
시간의 흐름에 따른 객체의 상태 변화와 상호작용을 타임라인으로 표현합니다. 실시간 시스템이나 임베디드 시스템에서 시간 제약사항을 모델링할 때 유용합니다. 예시: UML 타이밍 다이어그램 예시(위키미디어)
정보처리기사 실기 대비 실전 문제
기출 | |
문제 | 다음 괄호 안에 들어갈 답을 작성하세요.
UML 중 ( ) 다이어그램은 속성, 메서드를 포함한다.
( ) 다이어그램은 도메인 구조를 나타내어 보이지 않는 도메인 내 추상적인 개념을 표현한다. |
답변 | |
정답 | 정답 보기 |
기출 | |
문제 | 다음 다이어그램의 이름을 작성하세요. ![]() ( ) 다이어그램 |
답변 | |
정답 | 정답 보기 |
문제 | 구조 다이어그램 종류를 모두 쓰시오. |
답변 | 1: 2: 3: 4: 5: 6: |
정답 | 정답 보기 |
문제 | 행위 다이어그램 종류를 모두 쓰시오. |
답변 | 1: 2: 3: 4: 5: 6: |
정답 | 정답 보기 |
문제 | UML에는 컴포넌트 사이의 종속성을 표현하고, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 ( ) 다이어그램이 있습니다. |
답변 | |
정답 | 정답 보기 |
문제 | UML에는 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현한 ( ) 다이어그램이 있습니다. |
답변 | |
정답 | 정답 보기 |
문제 | UML에는 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 ( ) 다이어그램이 있습니다. |
답변 | |
정답 | 정답 보기 |
문제 | UML에는 객체 간 상호 작용을 메시지 흐름으로 표현한 ( ) 다이어그램으로 객체 간의 동적 상호 작용을 시간적 개념을 중심으로 모델링하는 다이어그램이 있습니다. |
답변 | |
정답 | 정답 보기 |