Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 기본 메소드의 사용은 무엇입니까?

<시간/>

Java의 인터페이스는 클래스와 유사하지만 최종적이고 정적인 추상 메서드와 필드만 포함합니다.

  • 메소드 프로토타입의 사양입니다. 프로그래머를 안내해야 할 때마다 또는 유형의 메소드와 필드가 어떻게 되어야 하는지를 지정하는 계약을 맺을 때마다 인터페이스를 정의할 수 있습니다.
  • 클래스가 특정 사양을 따르도록 하려면 필수 인터페이스를 구현하고 해당 인터페이스의 모든 추상 메서드에 대한 본문을 제공해야 합니다.
  • 인터페이스의 모든 추상 메소드 구현을 제공하지 않으면(귀하가 구현) 컴파일 시간 오류가 생성됩니다.

인터페이스에 새로운 메소드가 추가된다면?

특정 인터페이스를 사용 중이고 해당 인터페이스의 모든 추상 메서드를 구현했으며 나중에 새 메서드가 추가되었다고 가정합니다. 그러면 이 인터페이스를 사용하는 모든 클래스는 각각에 새로 추가된 메소드를 구현하지 않으면 작동하지 않습니다.

Java8에서 이 문제를 해결하기 위해 기본 메소드가 도입되었습니다.

기본 방법

기본 방법은 방어자 방법 또는 가상 확장 방법이라고도 합니다. default를 사용하여 기본 메소드를 정의할 수 있습니다. 키워드 -

default void display() {
   System.out.println("This is a default method");      
}

인터페이스의 특정 메서드에 대한 기본 구현을 한 번 작성합니다. 이 인터페이스를 이미 사용(구현)하고 있는 클래스에서 구현할 필요가 없습니다.

다음 Java 예제는 Java의 기본 메소드 사용법을 보여줍니다.

interface sampleInterface{  
   public void demo();  
   default void display() {
      System.out.println("This is a default method");      
   }
}
public class DefaultMethodExample implements sampleInterface{
   public void demo() {
      System.out.println("This is the implementation of the demo method");
   }  
   public static void main(String args[]) {      
      DefaultMethodExample obj = new DefaultMethodExample();
      obj.demo();
      obj.display();      
   }
}

출력

This is the implementation of the demo method
This is a default method