더북(TheBook)

3.1.7 상수


인터페이스에 정의한 변수는 자동으로 public static final이 된다. 예를 들어 다음 SwingConstants 인터페이스는 나침반 방향을 나타내는 상수를 정의한다.

public interface SwingConstants {

    int NORTH = 1;

    int NORTH_EAST = 2;

    int EAST = 3;

    ...

}


이 상수들은 SwingConstants.NORTH처럼 전체 이름으로 참조할 수 있다. 클래스가 SwingConstants 인터페이스를 구현하면 SwingConstants 한정어(qualifier)를 생략하고 간단히 NORTH로 쓸 수 있다. 그렇지만 일반적인 표현법은 아니다. 상수 집합에는 열거(enumeration)를 사용하는 것이 훨씬 좋다(4장 상속과 리플렉션 참고).

Note ≣

인터페이스 안에는 인스턴스 변수를 둘 수 없다. 인터페이스는 객체의 상태가 아니라 동작(behavior)을 명시한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.