개발/JAVA

[java] 어댑터 패턴 (Adapter Pattern)

여름청춘 2023. 11. 17. 15:22
어댑터 패턴이란?

호환되지 않는 인터페이스들을 연결하는 디자인 패턴 

기존의 클래스를 수정하지 않고도 특정 인터페이스를 필요로 하는 코드에서 사용할 수 있다. 

또한 클래스의 인터페이스를 다른 인터페이스로 변활할 수도있어서 다른 인터페이스를 가진 클래스들이 상호작용할 수 있다.

 

 

java 라이브러리에서 사용 예

InputStreamReader : 바이트 스트림을 문자 스트림으로 변환. 

 

 

Spring Framework에서 사용 예

HandlerAdapter 인터페이스

 

 

 

어댑터패턴 구현방법

1. 패턴을 적용하고자 하는 인터페이스 식별하기

2.어댑터 클래스 작성

3.클라이언트 코드에서 호출

 

 

어댑터패턴 장단점

1. 장점

어댑터 패턴을 이용하면 기존의 클래스를 수정하지 않고도 클라이언트에서 새로운 인터페이스 사용가능.

코드 재사용성이 높고 중복코드를 줄여줌. 클래스 간의 결합도도 낮아져 코드 변경 및 수정이 쉽다. 

 

2. 단점

어댑터 클래스를 추가로 작성해야 하기 때문에 소스 코드가 늘어남

코드의 복잡성을 증가시키고 유지보수를 어렵게 만들 수 있음.