인터페이스 Java의 클래스는 클래스와 유사하지만 최종적이고 정적인 추상 메서드와 필드만 포함합니다.
Java8 정적 메서드와 기본 메서드가 인터페이스에 도입되었기 때문입니다. 다른 추상 메소드와 달리 이들은 메소드가 기본 구현을 가질 수 있습니다. 인터페이스에 기본 메소드가 있는 경우 이미 이 인터페이스를 구현하고 있는 클래스에서 이를 오버라이드(본문 제공)할 필요는 없습니다.
즉, 구현 클래스의 개체를 사용하여 인터페이스의 기본 메서드에 액세스할 수 있습니다.
예시
interface MyInterface{ public static int num = 100; public default void display() { System.out.println("display method of MyInterface"); } } public class InterfaceExample implements MyInterface{ public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.display(); } }
출력
display method of MyInterface
기본 메소드 재정의
구현 클래스에서 인터페이스의 기본 메서드를 재정의할 수 있습니다.
예시
interface MyInterface{ public static int num = 100; public default void display() { System.out.println("display method of MyInterface"); } } public class InterfaceExample implements MyInterface{ public void display() { System.out.println("display method of class"); } public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.display(); } }
출력
display method of class