모두CBT

다음 파이썬 코드에 적용한 디자인 패턴은?class Greeting(o… | [7급 국가직 소프트웨어공학] 25년 1회차 기출문제 상세 페이지

1[7급 국가직 소프트웨어공학] 25년 1회차
다음 파이썬 코드에 적용한 디자인 패턴은?
class Greeting(object):
def say(self):
kor = Korea()
kor.kor_hi()

jan = Japan()
jan.jan_hi()

chn = China()
chn.ch_hi()

class Korea(object):
def kor_hi(self):
print("안녕하세요\n")

class Japan(object):
def jan_hi(self):
print("곤니찌와\n")

class China(object):
def ch_hi(self):
print("니하오마\n")

class Hello(object):
def sayhello(self):
sh = Greeting()
sh.say()


insa = Hello()
insa.sayhello()
1
브릿지(bridge)
2
어댑터(adapter)
3
퍼사드(facade)
4
컴포지트(composite)
해설

적용된 디자인 패턴은 퍼사드(facade)이다.

Hello는 Korea·Japan·China를 직접 다루지 않고 Greeting의 say() 하나만 호출한다. 여러 하위 클래스를 감싸 단순한 통합 인터페이스를 제공하는 것이 퍼사드의 특징이다.

  • 브릿지: 추상화와 구현을 분리해 각각 독립적으로 확장하게 하는 패턴으로, 추상-구현 계층 분리가 코드에 없다.
  • 어댑터: 호환되지 않는 인터페이스를 변환해 맞춰 주는 패턴으로, 인터페이스 변환이 없다.
  • 컴포지트: 객체를 트리 구조로 구성해 부분과 전체를 동일하게 다루는 패턴으로, 계층 구조가 없다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 소프트웨어공학] 25년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 소프트웨어공학 기출문제 암기장 전체 보기