인터페이스 default 메서드와 static 메서드
자바 8버전 이후부터 인터페이스에 기본 메소드(default 메서드)와 static 메서드를 사용할 수 있게 되었다. 왜 인터페이스는 default 메서드를 추가하였을까?? 디폴트 메서드를 이용하면, 자바 API의 호환성을 유지하면서 라이브러리를 바꿀 수 있다. 디폴트 메서드는 다중 상속 동작이라는 유연성을 제공한다. 라이브러리 설계자 입장에서 인터페이스에 새로운 메서드를 추가하는 등 인터페이스를 바꾸고 싶을 때 문제가 발생한다. 왜냐하면, 인터페이스를 바꾸면 이전에 해당 인터페이스를 구현했던 모든 클래스의 구현도 고쳐야하기 때문이다. 이러한 문제를 해결하기 위해, 자바 8버전 이후부터는 인터페이스에 디폴트 메서드나 정적 메서드를 사용할 수 있게 되었다. ⇒ 인터페이스에 디폴트 메서드를 구현하면, 이 인..
2023.04.27