[디자인 패턴] Adapter Pattern

2019. 1. 2. 03:33cs/디자인 패턴

Adapter Pattern 


Adapter Pattern은 기존에 존재하는 클래스를 자기의 입맛에 맞게 특정한 클래스, 인터페이스를 통해서 바꾸어 줄 수 있는 패턴이다. 


쉽게 예를 들면 노트북을 충전하려면 직류 12V가 필요한데 공급되는 건 교류 100V이다. 

교류 100V를 AC 어댑터를 통해서 직류로 바꾸듯이 기존에 있는 것(교류 100V)을 특정한 클래스, 인터페이스(AC어댑터)를 통해서 12V로 바꾸어주는 것이 Adapter 패턴이다. 


언제 사용하면 좋을까?


기존의 클래스를 건드리지 않고 다른 상황에 맞게 개조를 하여 사용해야할때 유용합니다. 


기존의 코드들은 오류가 없다는 증거가 있기때문에 오류가 발생하면 어댑터에 잘못이 있음으로 기존의 코드는 보지 않아도 됩니다. 

또는 기존의 클래스 없이 외부 api를 개조하여 사용할 때도 매우 편하게 사용할 수 있습니다. 




예제는 class와 interface를 이용한 방법을 사용해보겠습니다. 



기존의 클래스에 있는 메소드들을 다른 클래스로 랩핑하여 사용하는 패턴인 AdapterPattern에 대해 알아 보았습니다