인터페이스 default, static 메서드

Java 8 버전부터는 상수, 추상 메서드에 추가해서 default 메서드, static 메서드를 선언할 수 있게 되었다.

default 메서드

  • 구현 클래스마다 동일한 기능을 하는 구현부(실행 블록)이 있는 메서드

static 메서드

  • 객체 생성 없이 직접 실행되는 메서드


예시 코드

#---------default, static 메서드가 있는 인터페이스----------
  
public interface InterfaceEx {
   default void defaultMethod() {
      System.out.println("default 메서드");
   }
   
   stataic void staticMethod() {
      System.out.println("static 메서드");
   }
}

# -------dafault, static 메서드 인터페이스 구현체--------

public calss InterfaceImpl implements InterfaceEx {
   # 아무것도 없다!!
}


# -------실행 main문--------

public class Main {
   public static void main(String args[]) {
      InterfaceImple impl = new InterfaceImpl();
       
      // 구현체 클래스는 비어있지만, 상위 인터페이스에 default 메서드가 있기 때문에 사용 가능 . 
      impl.defaultMethod();
        
      // 구현 클래스 객체 생성 없이 인터페이스를 통해 직접 호출 가능.
      InterfaceEx.staticMethod();
   }
}
  • 실행 결과
default 메서드
static 메서드

좋은 웹페이지 즐겨찾기