인터페이스 스태틱메소드
-
[더 자바8] 인터페이스 기본 메소드와 스태틱 메소드JAVA/JAVA8 관련 2022. 2. 13. 16:05
기본적으로 인터페이스에서는 추상메서드만 선언이 가능하였다. JAVA8에서는 인터페이스에서 기본메소드와 스태틱 메소드를 선언할 수 있도록 변경되었다. 기본 메소드 - 인터페이스에 메소드 선인이 아니라 구현체를 제공하는 방식 - 기본 메소드는 구현체가 모르게 추가된 기능으로 그만큼 리스크가 존재함. -> 컴파일 에러는 아니지만 구현체에 따라 런타임 에러가 발생할 수 있는 위험이 존재 -> 반드시 문서화 필요(@implSpec 자바독 태그 사용) - Object가 제공하는 기능 (equals, hasCode)는 기본 메소드로 제공할 수 없다. (구현체가 재정의해야 함.) - 본인이 수정할 수 있는 인터페이스에만 기본 메소드를 제공할 수 있다. - 인터페이스를 상속받는 인터페이스에서 다시 추상 메소드로 변경할 ..