6. 어댑터 패턴 (Adapter)
호환되지 않는 인터페이스를 맞춰서 연결해주는 어댑터 패턴을 알아봅니다.
여행을 가서 노트북 충전기를 꽂으려는데 콘센트 모양이 다르면 ’돼지코’를 꽂아서 연결하죠? 어댑터 패턴도 똑같아요! 서로 맞지 않는 인터페이스(규약)를 중간에서 변환해주어, 원래 코드를 고치지 않고도 함께 쓸 수 있게 만들어주는 패턴입니다.
(참고: 우리가 사용할 220V 규약이에요)
[돼지코]를 규정하자:
<220볼트연결>이 있어야 한다 ()
[돼지코]를 따르는 [선풍기]를 설계하자:
<220볼트연결>을 만들자 ():
"시원한 바람이 나옵니다!"를 출력하자
(참고: 일본에서 사 온 110V 기기예요. 규격이 다르죠?)
[일본가전]을 설계하자:
<110볼트연결>을 만들자 ():
"110V 기기가 작동합니다!"를 출력하자
(참고: 규격이 안 맞는 기기를 220V로 바꿔주는 어댑터예요)
[돼지코]를 따르는 [어댑터]를 설계하자:
'일본기기'를 [일본가전]인 비어있음으로 정하여 숨기자
처음 만들어질 때 ([일본가전]인 '기기') 다음과 같이 하자:
'나'의 '일본기기'를 '기기'로 정하자
<220볼트연결>을 만들자 ():
"어댑터 변환 중..."을 출력하자
'나'의 '일본기기'의 <110볼트연결>()을 실행하자
(참고: 220V 선풍기는 그냥 꽂으면 돼요)
'내선풍기'를 [돼지코]인 새로운 [선풍기]()로 정하자
'내선풍기'의 <220볼트연결>()을 실행하자
(참고: 110V 게임기는 어댑터를 씌워서 220V처럼 사용해요!)
'일본겜기'를 [일본가전]인 새로운 [일본가전]()으로 정하자
'변환기'를 [돼지코]인 새로운 [어댑터]('일본겜기')로 정하자
'변환기'의 <220볼트연결>()을 실행하자