디자인 패턴

Adapter 패턴

가든_ 2022. 9. 12. 00:56

구조패턴

클래스나 객체를 조합해 더 큰 구조를 만드는 패턴


어댑터 패턴(Adapter Pattern)

래퍼(Wrapper) 패턴으로도 부른다.

수정할 수 없던가, 예전의 코드라서 최신 코드로 수정을 해야할 필요가 있을 때 사용하는 패턴.

실생활에서 어댑터라 부르는 것과 동일한 역할을 한다고 볼수있다.

→ 110v 플러그를 220v로 변환해주는 110v→220v 어댑터

→ usb a → usb b로 변환해주는 어댑터

Adaptee와 Adapter의 개념을 가진다.

Adaptee

수정할 수 없는 객체, 즉 예전 객체를 의미한다.

그대로 사용하기에는 어려움이 있어 최신 코드화 되어야 할 대상이 되는 객체를 의미한다.

110v에 해당한다.

Adapter

Adaptee의 기능을 최신화하여 수행시켜주는 객체

220v 어댑터에 해당한다.


구현방식

오브젝터 어댑터

adaptee 객체를 상속할 수 없을때 사용한다.

adapter 클래스는 adaptee 클래스를 소유하여 기능을 대신한다.

클래스 어댑터

adaptee 객체를 상속가능할 때 사용할 수 있다.

adapter 클래스가 adaptee 클래스를 상속받아 기능을 대신한다.


장단점

 


구현코드

참고 사이트

어댑터 패턴(Adapter Pattern)