enum

Moon·2024년 2월 25일

Java

목록 보기
22/45

.ordinal()

enum FoodCategory {
    BREAD, CAKE, COFFEE, BEVERAGE
}
System.out.println(FoodCategory.CAKE.ordinal()); //1

.name()

enum FoodCategory {
    BREAD, CAKE, COFFEE, BEVERAGE
}
System.out.println(FoodCategory.CAKE.name()); //CAKE

생성자

enum의 생성자는 private임.

// 불가능한 코드
FoodCategory foodCategory = new FoodCategory();

enum 상수에 특정한 값 정의하기

  • 상수의 끝맺음에 반드시 세미콜론 써야함.
  • 특정한 값의 정의에 맞게 반드시 생성자를 정의해야함.
enum FoodCategory {
    BREAD(2800), 
    CAKE(17000), 
    COFFEE(4300), 
    BEVERAGE(2500);

    int cost;

    FoodCategory(int cost) {
        this.cost = cost;
    }
}
System.out.println(FoodCategory.BREAD.cost); //2800
System.out.println(FoodCategory.CAKE.cost); //17000
System.out.println(FoodCategory.COFFEE.cost); //4300 
System.out.println(FoodCategory.BEVERAGE.cost); //2500

여러개의 특정한 값 지정 가능

enum FoodCategory {
    BREAD("빵", 2800), 
    CAKE("케이크", 17000), 
    COFFEE("커피", 4300), 
    BEVERAGE("음료", 2500);

    int name;
    int cost;

    FoodCategory(String name, int cost) {
        this.name = name;
        this.cost = cost;
    }
}
System.out.println(FoodCategory.CAKE.name); //케이크
System.out.println(FoodCategory.CAKE.cost); //17000

0개의 댓글