• 클래스가 구현해야 할 메소드들이 선언되는 추상형
• interface 키워드를 이용하여 선언
• 인터페이스에는 멤버 변수(필드)를 선언할 수 없다.
※ 인터페이스는 객체를 생성할 수 없다.
• 인터페이스 타입의 레퍼런스 변수는 선언할 수 있다.
• 인터페이스를 상속받는 클래스는 인터페이스 모든 추상 메소드를 구현하여야 한다.
• 다른 인터페이스를 상속받을 수 있다.
-> extends 키워드를 사용
• 인터페이스는 클래스 상속과 다르게 다중 상속이 가능하다.
• implements 키워드를 사용하여 상속받는다.
• 여러 개의 인터페이스를 동시에 구현할 수 있다.
interface CalcInterface { // 인터페이스 선언
public static final double PI = 3.14;
// 상수 필드 public static final 생략하여 선언 가능
public abstract int addNumber(); // 추상 메소드
// public abstract 생략 가능
public abstract int mulNumber(); // 추상 메소드
public default void showNumber(); // default 메소드, public 생략 가능
System.out.println("** 계산기 인터페이스 **");
}
• public만 사용 가능
• public static final 생략 가능하다.
• public abstract 생략 가능하다.
• 인터페이스 안에서 구현된 메소드
• 인터페이스를 구현하는 클래스에 자동으로 상속된다.
• public 접근 지정만 사용 가능하다.
• public 접근 지정자 생략 가능하다.
• 인터페이스 안에서 메소드가 구현되어 있어야한다.
• 인터페이스 안에 있는 다른 메소드에 의해서만 호출 가능하다.
• public, private 접근 지정자 사용 가능
• 접근 지정자를 생략하면 자동으로 public이 된다.