상태 다이어그램(State Diagram)
1. 상태 다이어그램 정의
- 상태 다이어그램(State Diagram)은 객체가 이벤트에 의해 상태가 어떻게 변화하는지 시각적으로 표현한 UML 다이어그램입니다.
- 주요 목적:
- 객체의 상태 변화 과정을 추적.
- 이벤트 발생 시, 객체의 상태 전환을 이해.
2. 상태 다이어그램의 역할
- 특정 이벤트 발생 시, 객체의 상태 변화를 명확히 표현.
- 시스템 설계 단계에서 상태 변화와 조건을 분석하여 동작 확인.
- 상태 변환이 중요한 객체에 적용하여 구조적 설계 보완.
3. 구성 요소
3.1. 상태(State)
- 정의: 객체가 특정 시점에 갖는 속성 값이나 상태.
- 표현 방법: 사각형 안에 상태 이름을 기재.
3.2. 시작 상태(Start State)
- 정의: 프로세스의 시작 지점.
- 표현 방법: 검은 동그라미.
3.3. 종료 상태(End State)
- 정의: 프로세스의 종료 지점.
- 표현 방법: 이중 원형.
3.4. 상태 전환(Transition)
- 정의: 이벤트 발생에 따라 상태가 변화하는 흐름.
- 표현 방법: 화살표로 연결.
3.5. 이벤트(Event)
- 정의: 상태 변환을 유발하는 사건.
- 표현 방법: 화살표 위에 텍스트로 기재.
3.6. 프레임(Frame)
- 정의: 상태 다이어그램의 범위를 나타냄.
- 표현 방법: 사각형으로 전체를 둘러싼다.
4. 상태 다이어그램 예시

상품 결제 상태 다이어그램
- 상태 변화 과정:
- 시작 상태에서
결제 준비
로 이동.
- 결제 정보 입력 이벤트 발생 →
결제 대기
상태로 전환.
- 결제 버튼 클릭 이벤트 →
결제 진행 중
.
- 결제 정보 확인:
- 일치:
결제 완료
상태로 전환 → 종료.
- 불일치:
결제 실패
상태로 전환.
- 결제 실패 상태에서 재시도 →
결제 준비
로 복귀.
5. 상태 다이어그램의 특징
- 객체의 동적 변화를 추적.
- 이벤트 중심의 상태 변화를 강조.
- 모든 객체에 적용하지 않고, 상태 변화가 필요한 객체만 대상으로 사용.
6. 학습 포인트
- 구성 요소:
- 상태, 시작 상태, 종료 상태, 상태 전환, 이벤트.
- 상태 변화의 흐름을 정확히 이해.
- 이벤트에 따른 상태 전환을 시각적으로 명확히 표현.
7. 요약
- 상태 다이어그램은 객체가 특정 이벤트에 의해 상태가 변화하는 과정을 시각적으로 표현하는 도구.
- 시스템에서 상태 변화가 중요한 객체에 초점을 맞춰 설계.
- 상태 전환 과정과 이벤트를 중심으로 객체의 동작을 명확히 설명.