이번 팀 프로젝트를 진행하면서 Java의 enum Types를 사용하여 클라이언트에 값을 보내주었습니다. 이번 포스트는 enum에 대해 정리한 글 입니다.
enum은 관리가 용이합니다. 값이 추가되거나 변경되는 경우, 한 곳에서만 변경하면 되기 때문에 코드의 유지 보수가 용이합니다.
Performance: 상수니까
문자열과 비교해, IDE의 적극적인 지원을 받을 수 있습니다.
직렬화: 싱글톤 보장
오라클 공식문서 Enum Types의 예시입니다.
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
public class EnumTest {
Day day;
public EnumTest(Day day) {
this.day = day;
}
public void tellItLikeItIs() {
switch (day) {
case MONDAY:
System.out.println("Mondays are bad.");
break;
case FRIDAY:
System.out.println("Fridays are better.");
break;
case SATURDAY: case SUNDAY:
System.out.println("Weekends are best.");
break;
default:
System.out.println("Midweek days are so-so.");
break;
}
}
public static void main(String[] args) {
EnumTest firstDay = new EnumTest(Day.MONDAY);
firstDay.tellItLikeItIs();
EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
thirdDay.tellItLikeItIs();
EnumTest fifthDay = new EnumTest(Day.FRIDAY);
fifthDay.tellItLikeItIs();
EnumTest sixthDay = new EnumTest(Day.SATURDAY);
sixthDay.tellItLikeItIs();
EnumTest seventhDay = new EnumTest(Day.SUNDAY);
seventhDay.tellItLikeItIs();
}
}
public class EnumTest{
private fianl static int MONDAY = 1;
private fianl static int TUESDAY = 2;
private fianl static int WEDNSDAY = 1;
private fianl static int THURSDAY = 1;
private fianl static int FRIDAY = 1;
private fianl static int SATUREDAY = 1;
private fianl static int SUNDAY = 1;
public static void main(String[] args){
int day = MONDAY;
switch(day){
case MONDAY:
System.out.println("월요일 입니다.")
case TUESDAY:
System.out.println("화요일 입니다.")
case WEDNSDAY:
System.out.println("수요일 입니다.")
/*
* 생략합니다.
*/
}
}
}
두 코드를 비교해보면
[Java] enum은 왜 쓰는걸까? (feat. 우아한형제들 기술블로그)
The Java™ Tutorials
[Java] Enum을 사용하는 이유와 활용법
JAVA:enum의 뿌리를 찾아서...