기출문제/정보처리기사

2022년 1회 정보처리기사 기출문제 17번

엉클지니 2025. 3. 3. 17:50

17. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?

모듈 분해    디자인 패턴

연관 관계   클래스 도출

 

 


✅ 정답: ② 디자인 패턴 (Design Pattern)


📚 해설

디자인 패턴이란?

소프트웨어 설계 시, 자주 등장하는 문제 상황에 대한 검증된 해결 방법을 정리한 템플릿 또는 모범 사례입니다.
개발자들이 설계 시 참고할 수 있는 재사용 가능한 설계 지침이라고 생각하면 됩니다.

  • 즉, "이런 상황에서는 이렇게 해결하는 게 좋다"라는 베스트 프랙티스 모음집입니다.
  • **GoF(Gang of Four)**가 정리한 23가지 디자인 패턴이 대표적입니다.

📌 보기 해설

① 모듈 분해

  • 프로그램을 독립적이고 관리하기 쉬운 모듈 단위로 나누는 기법입니다.
  • 설계 원칙 중 하나이지만, 반복적 문제 해결 방법이라는 의미와는 다소 거리가 있습니다. ❌ 오답

② 디자인 패턴

  • 특정 상황에서 검증된 해결 방법을 정리한 템플릿입니다.
  • 객체지향 설계에서 반복적으로 발생하는 문제를 해결하기 위한 정형화된 방법입니다. ✅ 정답

③ 연관 관계

  • 클래스들 사이의 관계 유형 중 하나로, 하나의 클래스가 다른 클래스의 객체를 참조하는 관계입니다.
  • 단순한 관계 개념일 뿐, 반복적 문제 해결을 위한 구체적 방법은 아닙니다. ❌ 오답

④ 클래스 도출

  • 요구사항 분석 단계에서 시스템이 필요로 하는 클래스를 식별하고 정의하는 활동입니다.
  • 특정 문제를 해결하는 패턴과는 다른 개념입니다. ❌ 오답

📦 디자인 패턴의 분류 (GoF 기준)

분류 설명 대표 패턴

생성 패턴 객체 생성 방법 제공 팩토리 메서드, 추상 팩토리, 빌더, 프로토타입, 싱글톤
구조 패턴 클래스/객체 구성 방법 어댑터, 브리지, 컴퍼지트, 데코레이터, 퍼사드, 플라이웨이트, 프록시
행위 패턴 객체 간 협력 방법 옵서버, 전략, 상태, 템플릿 메서드, 커맨드 등

📢 한 줄 정리

디자인 패턴 = 설계 문제 해결 공식집


 

반응형