욱 연구소

슬기로운 개발생활

프로그래밍/Java

Constant Interface

wook-lab 2022. 1. 20. 11:08
반응형

상수를 인터페이스로 사용하는 것은 Anti pattern이다.
인터페이스가 아닌 Final Class를 써야 한다.
상수 변수 사용시 import를 static으로 선언하면 클래스명을 생략하여 사용할 수 있다.

/**
 * 클래스로 구현한 공통코드 상수
 */
public  final  class  CommonCode  {
 
    private  CommonCode()  {
        throw new AssertionFailure();
    }
 
    public  static  final  String ERROR_CODE_A  =  "001";
    public  static  final  String ERROR_CODE_B  =  "002";
}
import CommonCode ;

/**
 * 공통코드 상수 클래스를 호출하는 방법1
 */ 
public  class  Response {
    public  String getResponseCode() {
        return CommonCode.ERROR_CODE_A;
    }
}
import static CommonCode.*;  // static으로 선언

/**
 * 공통코드 상수 클래스를 호출하는 방법2
 */ 
public  class  Response {
    public  String getResponseCode() {
        return ERROR_CODE_A;
    }
}
반응형