기출문제/정보처리기사

2020년 3회 정보처리기사 기출문제 8번

엉클지니 2025. 4. 8. 16:10

8. 디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?

   커맨드 (Command) 패턴         옵저버 (Observer) 패턴

    프로토타입 (Prototype) 패턴    상태 (State) 패턴

 

 

문제 분석

이 문제는 디자인 패턴 중에서 행위적 패턴에 속하지 않는 패턴을 찾는 문제입니다. 디자인 패턴은 생성 패턴, 구조 패턴, 행위 패턴으로 나눌 수 있습니다. 이 중 행위 패턴은 객체나 클래스 간의 상호작용을 어떻게 처리할 것인지에 대한 해결책을 제시하는 패턴입니다.

각 디자인 패턴의 분류

  1. 커맨드 (Command) 패턴
    커맨드 패턴은 요청을 객체로 캡슐화하여, 호출자와 수신자를 분리하고, 요청을 큐에 저장하거나 요청을 로그로 남길 수 있도록 하는 행위 패턴입니다.
    → 행위적 패턴에 속함
  2. 옵저버 (Observer) 패턴
    옵저버 패턴은 객체가 상태 변화가 있을 때, 여러 객체에 알림을 보내는 패턴입니다. 즉, 주체 객체의 상태 변화에 대해 구독자 객체들이 반응하는 방식으로 행위 패턴에 해당합니다.
    → 행위적 패턴에 속함
  3. 프로토타입 (Prototype) 패턴
    프로토타입 패턴은 객체를 생성할 때 **복제(복사)**를 통해 새로운 객체를 만드는 생성 패턴입니다. 이 패턴은 객체를 새로 생성하는 방법에 관한 문제를 해결하므로, 행위 패턴이 아니라 생성 패턴에 속합니다.
    → 행위적 패턴에 속하지 않음
  4. 상태 (State) 패턴
    상태 패턴은 객체의 상태가 변할 때마다 객체의 행동도 변하게 하는 패턴입니다. 즉, 객체의 상태에 따라 다른 행동을 수행하는 방식을 제공하므로 행위적 패턴에 속합니다.
    → 행위적 패턴에 속함

결론

프로토타입 (Prototype) 패턴은 객체를 복제하는 패턴으로, 생성 패턴에 속하므로 정답은 ❸번입니다.


예시

  • 커맨드 패턴: 사용자가 버튼을 클릭할 때, 각 버튼에 대해 커맨드 객체를 만들어 그 객체가 특정 행동을 수행하도록 하는 방식입니다.
  • 옵저버 패턴: 주식 가격 변동을 옵저버들에게 실시간으로 알려주는 시스템에서 사용됩니다. 가격이 변하면 구독한 모든 객체들에게 변화가 통지됩니다.
  • 프로토타입 패턴: 객체를 복제해서 새로운 객체를 생성하는 방식으로, 예를 들어, 복잡한 객체를 여러 번 생성할 때 클론을 사용하는 방식입니다.
  • 상태 패턴: 게임 캐릭터가 **상태(예: 공격, 방어, 이동)**에 따라 다른 행동을 할 때 사용됩니다.

요약

  • 행위적 패턴은 객체 간 상호작용 및 책임 분배와 관련된 패턴으로, 커맨드, 옵저버, 상태 패턴이 포함됩니다.
  • 프로토타입 패턴은 객체를 복제하는 생성 패턴에 해당합니다.

표로 정리

선택지 설명 분류

① 커맨드 (Command) 패턴 요청을 객체로 캡슐화하여 호출자와 수신자를 분리 행위적 패턴
② 옵저버 (Observer) 패턴 주체 객체의 상태 변화에 대해 구독자에게 알림을 보내는 패턴 행위적 패턴
❸ 프로토타입 (Prototype) 패턴 객체를 복제하여 새로운 객체를 생성하는 패턴 생성 패턴
④ 상태 (State) 패턴 객체의 상태에 따라 다른 행동을 수행하는 패턴 행위적 패턴

🎯 정답: ❸ 프로토타입 (Prototype) 패턴

반응형