UML 다이어그램·디자인 패턴 선택 기준
문제에서 묻는 관계와 변화 축을 찾아 UML과 GoF 패턴을 선택하는 방법입니다.
관련 시험 정보처리기사9급 컴퓨터일반
UML 다이어그램 선택
클래스 다이어그램은 타입과 정적 관계, 시퀀스 다이어그램은 시간 순 메시지, 상태 다이어그램은 한 객체의 상태 변화, 활동 다이어그램은 업무·알고리즘의 제어 흐름을 표현합니다.
- 유스케이스는 외부 액터와 시스템 기능의 관계를 본다.
- 배치 다이어그램은 실행 노드와 산출물 배치를 나타낸다.
- 컴포넌트 다이어그램은 구현 구성요소와 의존성을 표현한다.
생성 패턴
Factory Method는 객체 생성을 하위 클래스나 구현에 위임하고, Abstract Factory는 관련 객체군을 일관되게 생성합니다. Builder는 복잡한 객체의 생성 과정과 표현을 분리하고 Singleton은 인스턴스를 하나로 제한합니다.
- Prototype은 기존 객체 복제로 새 객체를 만든다.
- 객체 생성 방식의 변화가 핵심이면 생성 패턴부터 검토한다.
- Singleton은 전역 상태와 테스트 어려움 같은 비용도 있다.
구조·행위 패턴
Adapter는 호환되지 않는 인터페이스를 변환하고, Decorator는 객체를 감싸 기능을 동적으로 추가합니다. Observer는 한 객체의 상태 변화가 여러 구독자에게 전달될 때, Strategy는 교체 가능한 알고리즘군을 캡슐화할 때 사용합니다.
- Facade는 복잡한 하위 시스템에 단순한 진입점을 제공한다.
- Proxy는 실제 객체 접근을 대리·제어한다.
- Command는 요청을 객체로 캡슐화해 큐·취소·기록에 활용한다.
시험에 바로 쓰는 비교표
| 요구 | 적합한 표현·패턴 | 판단 키워드 | 혼동 대상 |
|---|---|---|---|
| 시간 순 메시지 | 시퀀스 다이어그램 | 객체 간 호출 순서 | 활동 다이어그램 |
| 인터페이스 변환 | Adapter | 기존 클래스를 새 규격에 맞춤 | Facade |
| 알고리즘 교체 | Strategy | 동일 목적의 여러 구현 | State |
| 상태 변화 통지 | Observer | 발행자와 구독자 | Mediator |
지문 표현을 판단 기준으로 바꾸기
- 호환되지 않는 인터페이스 변환 → Adapter
- 알고리즘군을 교체 가능하게 캡슐화 → Strategy
- 시간 순서에 따른 메시지 → 시퀀스 다이어그램
자주 틀리는 판단
- 시퀀스와 상태 다이어그램의 변화 축을 혼동
- Adapter와 Decorator를 모두 단순 기능 추가로 판단
- Factory Method와 Abstract Factory의 생성 범위를 구분하지 않음
개념을 확인했다면 실제 문제에서 판단 기준을 적용해보세요.
분야별 문제 풀기