Java - Default method

iseon_u·2022년 5월 7일
0

Java

목록 보기
36/77
post-thumbnail

Default method 디폴트 메서드


  • 인터페이스에 디폴트 메서드, static 메서드 추가 가능 (JDK 1.8 부터)

디폴트 메서드

  • 인터페이스에 새로운 메서드 (추상 메서드) 를 추가하기 어렵다.
    • 추상 메서드를 추가하면 상속 받은 모든 클래스에 구현해야한다.
  • 해결책으로 나온 예외적 기능 - default method 디폴트 메서드 ✅
  • 디폴트 메서드는 인스턴스 메서드 (인터페이스 원칙 위반 ❌)
interface MyInterface {
		void method();
		default void newMethod(){} // 몸통 {} 구현부가 있는 디폴트 메서드
}
  • 디폴트 메서드가 기존의 메서드와 충돌할 때의 해결책
    1. 여러 인터페이스의 디폴트 메서드 간의 충돌
      • 인터페이스를 구현한 클래스에서 디폴트 메서드를 오버라이딩해야 한다.
    2. 디폴트 메서드와 조상 클래스의 메서드 간의 충돌
      • 조상 클래스의 메서드 (우선 순위) 가 상속되고, 디폴트 메서드는 무시된다.
    • 직접 오버라이딩하면 모두 해결
profile
🧑🏻‍💻 Hello World!

0개의 댓글