Java의 정석_기초편

디폴트 메서드와 static메서드

DJDU 2022. 10. 22. 16:33

디폴트 메서드와 static 메서드

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

디폴트 메서드(default method) 

  • 인터페이스에 새로운 메서드(추상 메서드)를 추가하기 어려움
  • 해결책  디폴트 메서드(default method)
  • 디폴트 메서드는 인스턴스 메서드(기존 인터페이스 원칙 위반, 예외)
  • 디폴트 메서드가 기존의 메서드와 충돌할 때의 해결책

디폴트 메서드는 인스턴스 메서드(인터페이스 원칙 위반)

디폴트 메서드가 기존의 메서드와 충돌할 때의 해결책

  1. 여러 인터페이스의 디폴트 메서드 간의 충돌
    • 인터페이스를 구현한 클래스에서 디폴트 메서드를 오버라이딩해야 한다.
  2. 디폴트 메서드와 조상 클래스의 메서드 간의 충돌
    • 조상 클래스의 메서드가 상속되고, 디폴트 메서드는 무시된다.
더보기

위의 규칙이 외우기 귀찮으면, 그냥 필요한 쪽의 메서드와 같은 내용으로 오버라이딩 해버리면 그만이다.

6장 하루 30분 7장 하루 30분 이런 식으로 복습하자.