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

Java 8의 기본 및 정적 인터페이스 방법의 차이점.

<시간/>

Oracle의 Javadocs에 따르면 -

기본 메소드를 사용하면 라이브러리의 인터페이스에 새로운 기능을 추가하고 해당 인터페이스의 이전 버전용으로 작성된 코드와 바이너리 호환성을 보장할 수 있습니다.

정적 메서드는 개체가 아니라 정의된 클래스와 연결된 메서드입니다. 클래스의 모든 인스턴스는 정적 메서드를 공유합니다.

인터페이스의 정적 메서드는 인터페이스 클래스의 일부로 구현하거나 재정의할 수 없지만 클래스는 기본 메서드를 재정의할 수 있습니다.

Sr. 아니요. 정적 인터페이스 방법 기본 방법
1
기본
인터페이스에만 속하는 정적 메서드입니다. 인터페이스 자체에서 이 메서드의 구현을 작성할 수 있습니다.
기본 키워드가 있는 메서드이며 클래스가 이 메서드를 재정의할 수 있습니다.
2
메소드 호출
정적 메서드는 클래스가 아닌 인터페이스 클래스에서만 호출할 수 있습니다.
인터페이스뿐만 아니라 클래스에서도 호출할 수 있습니다.
3
메서드 이름
인터페이스 및 구현 클래스, 둘 다 서로 재정의하지 않고 동일한 이름의 정적 메서드를 가질 수 있습니다.
클래스를 구현할 때 기본 메서드를 재정의할 수 있습니다.
4.
사용 사례
유틸리티 메소드로 사용할 수 있습니다.
모든 구현 클래스에서 공통 기능을 제공하는 데 사용할 수 있습니다.

인터페이스의 기본 및 정적 메소드의 예

public interface DefaultStaticExampleInterface {
   default void show() {
      System.out.println("In Java 8- default method - DefaultStaticExampleInterface");
   }
   static void display() {
      System.out.println("In DefaultStaticExampleInterface I");
   }
}
public class DefaultStaticExampleClass implements DefaultStaticExampleInterface {
}
public class Main {
   static void main(String args[]) {
      // Call interface static method on Interface
      DefaultStaticExampleInterface.display();
      DefaultStaticExampleClass defaultStaticExampleClass = new DefaultStaticExampleClass();
     
      // Call default method on Class
      defaultStaticExampleClass.show();
   }
}