인터페이스의 디폴트 메소드

인터페이스의 디폴트 메소드는 자바8부터 나왔다고 한다.. 알아두자.
선언은 인터페이스에 하고 사용은 구현객체에서 한다.

왜 이걸 만들었을까?

기존 인터페이스를 확장해서 새로운 기능을 추가하기 위해서

특징?

디폴트 메소드는 정의된 형태이므로 implemets했을 때 해당 메소드의 구현을 강제하지 않는다.

디폴트 메소드는 다음과 같이 정의할 수 있다.

default
1
2
3
4
5
6
7
8
9
10
public interface MyInterface{

public void method1();

public default void method2(){
System.out.println("method2");
}
//디폴트 메소드

}

디폴트 메소드를 갖는 인터페이스를 인터페이스가 상속했을 때?

디폴트 메소드를 처리하기 위해 다음 3가지중 선택가능

  • 디폴트 메소드를 단순히 상속만 받는다.
  • 디폴트 메소드를 오버라이딩 해서 내용 변경
  • 디폴트 메소드를 추상메소드로 재선언
Share