← 목록으로 돌아가기

정보처리기사 실기 합격 보증수표: 디자인 패턴 23가지 완벽 정리

#정보처리기사#디자인패턴#CS기초

디자인 패턴, 왜 공부해야 할까?

디자인 패턴은 소프트웨어 설계 시 발생하는 공통적인 문제들에 대한 '선배 개발자들의 모범 답안'입니다. 정보처리기사 실기 시험에서는 용어의 정의를 묻는 문제가 자주 출제되는데, 단순히 암기하는 것을 넘어 각 패턴이 어떤 문제를 해결하려고 하는가에 집중하면 훨씬 기억에 오래 남습니다.

효율적인 학습을 위해 GoF(Gang of Four)의 분류법에 따라 생성, 구조, 행위 세 가지 그룹으로 나누어 정리해 보겠습니다.


🏗️ 1. 생성 패턴 (Creational Patterns)

객체의 생성과 관련된 패턴으로, 객체의 생성 방식을 캡슐화하여 시스템의 유연성을 높입니다.

패턴명핵심 정의 (암기 키워드)
추상 팩토리인터페이스를 통해 연관된 객체들의 그룹을 추상적으로 표현하고 생성
빌더작게 분리된 인스턴스를 건축하듯이 조합하여 객체를 생성
팩토리 메소드객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화
프로토타입원본 객체를 복제하는 방법으로 객체를 생성
싱글톤한 객체를 생성하면 어디서든 참조할 수 있지만, 여러 프로세스가 동시 참조는 불가능

🌉 2. 구조 패턴 (Structural Patterns)

클래스나 객체를 조합하여 더 큰 구조를 만드는 패턴입니다.

패턴명핵심 정의 (암기 키워드)
어댑터호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있게 변환
브리지구현부에서 추상층을 분리하여 서로 독립적으로 확장할 수 있도록 구성
컴포지트여러 객체를 가진 복합 객체와 단일 객체를 구분 없이 다루고자 할 때 사용
데코레이터객체 간의 결합을 통해 능동적으로 기능들을 확장할 수 있는 패턴
퍼사드상위에 인터페이스를 구성하여 서브 클래스들의 기능을 간편하게 사용
플라이웨이트인스턴스를 가능한 한 공유하여 사용함으로써 메모리를 절약
프록시클래스나 객체들을 조합하는 대리자(Proxy) 역할로 복잡한 시스템 개발 용이

🔄 3. 행위 패턴 (Behavioral Patterns)

객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴입니다.

패턴명핵심 정의 (암기 키워드)
책임 연쇄한 객체가 처리하지 못하면 다음 객체로 요청을 넘기는 형태의 패턴
커맨드요청을 객체 형태로 캡슐화하여 재이용하거나 로그를 남길 수 있게 저장
인터프리터언어에 문법 표현을 정의하는 패턴
반복자접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴
중재자객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의
메멘토특정 시점의 객체 내부 상태를 객체화하여 상태를 돌리는 기능 제공
옵서버객체의 상태 변화를 상속되어 있는 다른 객체들에게 전달하는 패턴
상태객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용
전략동일 계열의 알고리즘들을 캡슐화하여 상호 교환할 수 있게 정의
템플릿 메소드상위 클래스에서 골격을 정의하고 하위 클래스에서 세부 처리를 구체화
방문자데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성

💡 합격을 위한 마지막 팁!

정보처리기사 실기 시험에서는 단답형으로 나오기 때문에 정확한 용어 스펠링(영문/국문)을 익히는 것이 중요합니다. 특히 대리자 = 프록시, 복제 = 프로토타입, 건축 = 빌더와 같이 각 패턴의 핵심 설명을 대표하는 단어들을 매칭하는 것이 합격의 지름길입니다. 이 포스팅이 여러분의 합격에 큰 보탬이 되길 바랍니다!