하나는 생성자로 받아서 private field로 가지고있는다.
하나는 상속받는다
getRadius() 에 알고리즘을 작성해서 맞춘다.
어댑터 패턴은 호환되지 않는 인터페이스들을 연결하는 디자인 패턴입니다. 이를 통해 기존의 클래스를 수정하지 않고도, 특정 인터페이스를 필요로 하는 코드에서 사용할 수 있게 해줍니다. 또한 클래스의 인터페이스를 다른 인터페이스로 변환할 수도 있는데요. 이를 통해 서로 다른 인터페이스를 가진 클래스들이 상호 작용할 수 있도록 해서 코드의 재사용성을 증대시키게 됩니다.
어댑터 패턴은 다양한 프레임워크에서 적용되고 있습니다. 대표적인 예로는 다음과 같은 것들이 있습니다.
JDBC
자바의 JDBC
는 데이터베이스에 접근하기 위한 API입니다. JDBC
는 Connection
, Statement
, ResultSet
과 같은 인터페이스를 제공합니다.
JDBC
는 어댑터 패턴을 사용하여 구현되었습니다. JDBC
는 다양한 데이터베이스 드라이버를 지원합니다. 각 데이터베이스 드라이버는 JDBC
의 인터페이스를 구현합니다.
JDBC 어댑터 패턴
IO
자바의 IO
는 입출력 처리를 위한 API입니다. IO
는 InputStream
, OutputStream
, Reader
, Writer
와 같은 인터페이스를 제공합니다.
IO
는 어댑터 패턴을 사용하여 구현되었습니다. IO
는 다양한 입출력 스트림을 지원합니다. 각 입출력 스트림은 IO
의 인터페이스를 구현합니다.
IO 어댑터 패턴
HandlerAdapter
스프링의 HandlerAdapter
는 컨트롤러의 요청을 처리하는 역할을 합니다. HandlerAdapter
는 다양한 컨트롤러를 지원합니다. 각 컨트롤러는 HandlerAdapter
의 인터페이스를 구현합니다.
스프링 HandlerAdapter 어댑터 패턴
어댑터 패턴은 다음과 같은 장점이 있습니다.