인터페이스 Interface
자바의 인터페이스란 객체의 사용 방법을 정의한 타입이다. 인터페이스를 통해 다양한 객체를 동일한 사용 방법으로 이용할 수 있다. 인터페이스는 모든 메소드가 추상 메소드로 구성되어있고 일종의 추상 클래스로도 볼 수 있다.
인터페이스 선언
public interface Sample {
public static final int sampleNumber = 10;
public abstract sampleMethod( );
}
인터페이스를 선언하기 위해서는 class
대신 interface
를 쓴다.
인터페이스의 구성 요소는 상수 필드와 추상 메소드이다.
인터페이스는 객체의 사용 방법을 정의한 것이므로 실행 시 데이터를 저장할 수 있는 인스턴스 혹은 정적 필드를 선언할 수 없다. 단, 상수 필드의 선언은 가능하다. 상수 필드는 인터페이스에 고정된 값으로 실행 시에 데이터를 바꿀 수 없다. 선언 시 public static final
을 생략하더라도 컴파일 과정에서 자동으로 붙게 된다.
인터페이스를 통해 호출된 메소드는 최종적으로 객체에서 실행된다. 따라서 선언부만 존재하며 인터페이스를 구현할 구현 클래스 내에서 구체적인 기능을 구현하게 된다. 그리고 인터페이스는 객체를 생성할 수 없기 때문에 생성자가 존재하지 않는다.
인터페이스 구현
public class Java implements Sample {
}
public class 구현클래스이름 implements 인터페이스이름 {
}
클래스 선언부에 implements
를 추가한다. 그리고 인터페이스에서 선언된 추상 메소드를 구체화 시키는 실체 메소드를 선언해야한다.
댓글