Ch7-40_디폴트 메서드와 static 메서드
1. 인터페이스에 디폴트 메서드, static 메서드 추가 가능.(JDK1.8부터)
2. 인터페이스에 새로운 메서드(추상 메서드)를 추가하기 어려움
3. 해결책 : 디폴트 메서드(default method)
4. 디폴트 메서드는 인스턴스 메서드(인터페이스 원칙 위반) = 예외
interface MyInterface {
void method();
void newMethod(); // 추상 메서드
}
interface MyInterface {
void method();
default void newMethod() {}
}
5. 디폴트 메서드가 기존의 메서드와 충돌할 때의 해결책
1. 여러 인터페이스의 디폴트 메서드 간의 충돌
: 인터페이스를 구현한 클래스에서 디폴트 메서드를 오버라이딩해야 한다.
2. 디폴트 메서드와 조상 클래스의 메서드 간의 충돌
: 조상 클래스의 메서드가 상속되고, 디폴트 메서드는 무시된다.
'JAVA > Chapter7' 카테고리의 다른 글
Ch7-51_익명 클래스(anonymous class) (0) | 2022.02.21 |
---|---|
Ch7-42_내부 클래스(inner class) (0) | 2022.02.21 |
Ch7-39_인터페이스의 장점 (0) | 2022.02.20 |
Ch7-38_인터페이스를 이용한 다형성 (0) | 2022.02.19 |
Ch7-35_인터페이스(interface) (0) | 2022.02.18 |