JAVA,객체지향

어댑터 패턴과 인터페이스default

25G 2021. 12. 6. 11:50

어댑터 패턴
일상생활에서의 어댑터는 일반적으로 걸러내는 역할을 한다.
인터페이스가 너무 많은 행위의 제약을 가지고 있으면 경우에 따라서 걸러내기 위해서 추상 클래스로 걸러낼 메서드를 오버라이드 해서 
해당 인터페이스를 상속받으면 경우에따라서 행위의 제약을 벗어 날 수 있다.

 

어댑터패턴 예시



하지만! 자바는 다중상속을 재한 하기 때문에 어댑터 패턴의 단점은 분명하다.
그래서 나온것이 interface내부에서 default라는 문법이 생겨 난 것이다.
default는 인터페이스도 몸체가 있는 메서드를 만들 수 있다.
왜 이 문법이 생겼냐?! (다중 상속이 안 되는 것이 많기 때문이다.)
그래서 최근의 자바버전에선 어댑터 패턴 대신에 default를 사용하는 것이 좋다