응용 프로그램 전체에서 사용되는 상수를 포함하는 간단한 마커 인터페이스 (메서드가 없음)가 있으면 인터페이스를 가져 오는 클래스와 실제로 인터페이스를 구현하는 클래스간에 차이가 있습니까?마커 인터페이스, 구현과 가져 오기
인터페이스 :
public interface MyConstants {
String constant1 = "constant1";
String constant2 = "constant2";
}
구현 :
public class MyClass implements MyConstants {
public MyClass(){
System.out.println(constant1);
}
}
가져 오기 :
import common.constants.MyConstants
public class MyClass {
public MyClass(){
System.out.println(MyConstants.constant1);
}
}
이것은 직장에서 * 상수 인터페이스 * 안티 패턴입니다. –
이것은 마커 인터페이스는 아니지만 상수 인터페이스입니다. –
편리하고 비 범위 액세스를 원하는 경우에는 정적 가져 오기를 항상 사용할 수 있습니다. 나는 단순히 상수를 얻기 위해 인터페이스를 구현하는 것은 나쁜 형태라고 말하고 싶다. – Matt