[Java] 9. Enum(열거형)
Enum에 대한 깊은 내용은 아니고 단순 사용하는 방법 예제에 대한 포스팅이다.
1. Enum(열거형)
java에서 관련 된 상수들을 같이 묶어 놓은 것을 Enum(열거형)이라고 한다. 예제 코드와 주석으로 설명을 대체하는 포스팅이다.
2. 예제 코드
//사용 예제 1
enum GLADE {
BRONZE, SILVER, GOLD, PLATINUM
}
//사용 예제 2
enum MEMBERSHIP_SALE {
BRONZE(0)
, SILVER(2)
, GOLD(5)
, PLATINUM(7);
private int value;
MEMBERSHIP_SALE(int discountRate) {
this.value = discountRate;
}
public int getValue(){
return value;
}
}
//사용 예제 3
enum SYSTEM_CODE {
CODE1("CODE1", "데이터1")
, CODE2("CODE2", "데이터2")
, CODE3("CODE3", "데이터3");
private String codeName;
private String codeValue;
SYSTEM_CODE(String codeName, String codeValue) {
this.codeName = codeName;
this.codeValue = codeValue;
}
public String getCodeName() {
return this.codeName;
}
public String getCodeValue() {
return this.codeValue;
}
}
public class ExEnum {
public static void main(String... args) {
//사용 예제 1
GLADE g1 = GLADE.BRONZE;//.toString()
GLADE g2 = GLADE.valueOf("SILVER");
GLADE g3 = Enum.valueOf(GLADE.class, "GOLD");
System.out.println("g1= " + g1);
System.out.println("g2= " + g2);
System.out.println("g3= " + g3);
GLADE[] gs = GLADE.values();
for (GLADE g : gs) {
System.out.println("name= " + g.name() + ", order= " + g.ordinal() );
}
//사용 예제 2
int m1 = MEMBERSHIP_SALE.BRONZE.getValue();
int m2 = MEMBERSHIP_SALE.valueOf("SILVER").getValue();
String m3Str = MEMBERSHIP_SALE.valueOf("GOLD").name();
System.out.println("m1= " + m1);
System.out.println("m2= " + m2);
System.out.println("m3Str= " + m3Str);
//사용 예제 3
String c1 = SYSTEM_CODE.CODE1.getCodeName();
String c2 = SYSTEM_CODE.CODE1.getCodeValue();
System.out.println("codeName= " + c1 + ", codeValue=" + c2);
}
}
g1= BRONZE
g2= SILVER
g3= GOLD
name= BRONZE, order= 0
name= SILVER, order= 1
name= GOLD, order= 2
name= PLATINUM, order= 3
m1= 0
m2= 2
m3Str= GOLD
codeName= CODE1, codeValue=데이터1