Chapter 08-1  |  인터페이스

개발 코드와 객체가 서로 통신하는 접점의 역할을 하며, 개발 코드가 인터페이스를 호출 시에 인터페이스는 객체의 메소드를 호출 시켜 리턴값을 받아낸다. 인터페이스는 여러 객체들과 사용 가능하므로, 코드 변경 없이 실행 내용과 리턴값을 다양화할 수 있다.

선언

.java 형식의 소스 파일로 작성되고, 컴파일러를 통해 .class 형식으로 컴파일 되므로 물리적 형식은 클래스와 동일하지만, 소스 작성법이 다르다.

[public] interface 인터페이스이름 {
	//상수
	[public static final] 타입 상수이름 = 값;
	
	//추상 메소드
	[public abstract] 타입 메소드이름(매개변수,•••);
}

상수 필드

인터페이스는 객체 사용 방법을 정의하는 것으로 실행 시 데이터를 저장할 수 있는 인스턴스 또는 정적 필드를 선언 불가능하지만, 상수 필드는 선언이 가능하다

추상 메소드

인터페이스를 통해 호출된 메소드는 최종적으로 객체에서 실행되므로, 실행 블록이 필요 없는 추상 메소드로 선언한다.

구현

인터페이스에서 정의된 추상 메소드와 동일한 메소드를 가진 실체 메소드를 가진 객체를 구현 객체, 그를 생성하는 구현 클래스라고 한다.

구현 클래스

public class 구현클래스이름 **implements** 인터페이스 이름 {
	//인터페이스에 선언된 추상 메소드의 실체 메소드 선언
}
public static void main(String[] args) {
	인터페이스 변수;
	변수 = 구현객체;
}

다중 인터페이스 구현 클래스

public class 구현클래스이름 implements 인터페이스A, 인터페이스B {
	//인터페이스 A에 선언된 추상 메소드의 실체 메소드 선언
	//인터페이스 B에 선언된 추상 메소드의 실체 메소드 선언
}

사용