인터페이스 (interface)
- 개발 코드는 인터페이스를 통해서 객체와 서로 통신한다
- 인터페이스의 메소드 호출하면 객체의 메소드가 호출된다
- 개발 코드를 수정하지 않으면서 객체 교환이 가능하다
인터페이스 선언
- [public] interface 인터페이스이름 { .... }
- 인터페이스는 객체로 생성할 수 없으므로 생성자를 가질 수 없다
상수 필드 (constant field) 선언
- 데이터를 저장할 인스턴스 혹은 정적 필드 선언 불가
- 상수 필드만 선언 가능
추상 메소드 선언
- 인터페이스 통해 호출된 메소드는 최종적으로 객체에서 실행
- 인터페이스의 메소드는 실행 블록 필요 없는 추상 메소드로 선언
[public abstract] 리턴타입 메소드이름(매개변수, ...);
구현 (implement) 클래스
- 인터페이스에서 정의된 추상 메소드를 재정의해서 실행내용을 가지고 있는 클래스
- 클래스 선언부에 implements 키워드 추가하고 인터페이스 이름 명시
public class 구현클래스이름 implements 인터페이스이름 {
//인터페이스에 선언된 추상 메소드의 설체 메소드 선언
}
혼자 공부하는 자바<한빛 미디어> 신용권 지음