[public] interface 인터페이스이름 {
// 상수
타일 상수이름 = 값;
// 추상메소드
타입 메소드이름(매개변수, ...);
}
인터페이스는 ~.java 형태의 소스 파일로 작성되고 컴파일러를 통해 .class 형태로 컴파일됨
인터페이스는 객체 사용 방법을 정의한 것이므로 실행 시 데이터를 저장할 수 있는 인스턴스 또는 정적 필드를 선언할 수 없음. 상수 필드 선언이 가능함
상수 필드 선언
[public static final] 타입 상수이름 = 값;
추상 메소드 선언
[public] abstract] 리턴타입 메소드이름(매개변수, ...);
public class 구현클래스이름 implements 인터페이스이름 {
// 인터페이스에 선언된 추상메소드 실체 메시도 선언
}
public class 구현클래스이름 implements 인터페이스A, 인터페이스B {
// 인터페이스A에 선언된 추상메소드의 실체 메소드 선언
// 인터페이스B에 선언된 추상메소드의 실체 메소드 선언
}