7.4 디폴트 메소드와 정적 메소드
Java 8 -> 디폴트 메소드, 정적 메소드 추가
Java 9 -> 전용 메소드 추가
: 인터페이스 개발자가 메소드의 디폴트 구현을 제공할 수 있는 기능.
-디폴트 메소드가 정의되어 있으면 인터페이스를 구현하는 클래스가 메소드의 몸체를 구현(=재정의)하지 않아도 메소드 호출 가능.
*인터페이스가 다중상속이 가능한 이유가 정의된 부분이 없어서인데,
디폴트 메소드로 정의를 한 번 하고 넘어가는 경우 충돌 가능성이 생김.
이 때문에 자바에서 다중 상속은 금지지만,
인터페이스의 default 메서드 충돌은 명시적으로 해결할 수 있음.
ex) 인터페이스명.super.메소드();
-정적 메소드는 클래스의 객체가 아니라 클래스에 들어 있다.
-정적 멤버로서 사용하는 경우 클래스명.메소드 만으로 접근할 수 있다는 장점이 있다.
-정적 메소드를 사용하는 경우 객체 생성이 불가능하다.
팩토리 메소드 <= 더 알아보기