# 1. 특정 값으로써 활용할 때
- 키, 코드, 명칭과 같은 값을 공통코드로 사용하는 경우 활용한다.
- 아래의 예시 참고
@Getter
@AllArgsConstructor
public enum MemberGrantType {
M("M", "마스터 권한")
,C("C", "회사 권한")
,S("S", "매장 권한")
,U("U", "회원 권한")
;
private String code ;
private String name ;
}
# 2. 메소드로 활용할 때
- 추상 메소드를 만들고 이를 구체화하여 활용할 수 있다.
- 아래의 예시 참고
public enum LeaveRequestState {
Submitted {
@Override
public String responsiblePerson() {
return "Employee";
}
},
Escalated {
@Override
public String responsiblePerson() {
return "Team Leader";
}
}
;
public abstract String responsiblePerson();
}
# 2-1. 결과