본문 바로가기
Language/Java

[Java] 인터페이스 Interface

Writer mintparc 2019. 9. 23.

인터페이스 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 를 추가한다. 그리고 인터페이스에서 선언된 추상 메소드를 구체화 시키는 실체 메소드를 선언해야한다.

댓글