BackEnd/Java
[Java] Enum, Const 이야기
뽀뽀이v
2023. 5. 7. 15:24
Enum 이란?
상수의 묶음이라고 생각하면 좋을 것 같다.
상수라고 한다면 프로젝트에 다음과 같이 구현해서 많이 사용한다.
private final static String ACCOUNT_TRANSFER = "계좌이체";
private final static String REMITTANCE = "무통장입금";
Enum은 서로 연관된 상수들을 다음과 같이 묶어서 사용하기 위해 사용을 한다.
@Getter
@AllArgsConstructor
public enum PayType {
ACCOUNT_TRANSFER("계좌이체", "1"),
REMITTANCE("무통장입금", "2"),
CARD("카드", "3"),
POINT("포인트", "4"),
COUPON("쿠폰", "5");
private String title;
private String code;
}
Enum Why?
Enum은 유지보수가 쉽고 소스의 가독성이 높아진다.
그리고 약간의 성능향상도 고려해 볼 수 있다.
ORDER_NUMBER | PRODUCT_CODE | PAY_TYPE | CREATED_AT ... |
98726 | 7321 | 2 | 2023- ... |
결제타입을 Enum으로 구성하지 않고 위와 같이 DB로 관리한다면 공통코드를 조회해서 무엇인지 알아봐야 한다.
그리고 조회 API의 경우 공통코드와 조인을 해야 한다.
하지만 Enum으로 관리한다면 Enum Converter 구현을 통해서 쉽게 가져다 사용할 수 있다.
그리고 불필요한 데이터베이스 조회 및 관리도 줄어든다.
Enum End!
회사에서 사용하는 공통코드를 한번 Enum으로 전환하는 것을 고려해 보면 좋을 것 같다.