Default Method란
- 인터페이스 안에서 구현을 제공하는 메소드
- 접근 제어자는 public이며 생략시 컴파일러가 자동으로 추가한다.
언제 사용하나
인터페이스는 선언만 가능하고 기능 구현은 클래스에서 구현할때 가능하다. 따라서 다음과 같은 상황에서 고려할 수 있다.
- 인터페이스지만 implements받은 모든 클래스에서 똑같은 내부 로직을 구현해야하거나할때 코드중복을 줄이기 위해 사용.
- 인터페이스 특성상 모든 메서드를 구현해야하기 때문에 활용도가 낮아 인터페이스 구현시 잘 사용되지 않는 기능을 default method로 빼둘 수 있다.
- 인터페이스를 수정해야하는데 이미 개발이 많이 진행된 상태라 참조하는 곳이 너무 많아져 코드 수정이 힘들어 졌을때 필요한 부분만 빼서 default 함수로 추가할 수 있다.
디폴트 메서드 구현
interface 인터페이스명 { default void 함수명(매개변수, ...) { // 실행문 } }