해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다.
enum
지정된 선택지 내의 값을 받을 변수 사용시
클래스 내부에 작성하여 오용 여지 제거하기
enum의 추가 기능들
- 클래스처럼 필드, 생성자, 메소드를 가질 수 있음
YalcoChickenMenu.java
package sec06.chap06.ex03;
public enum YalcoChickenMenu {
//값
FR("후라이드", 10000, 0),
YN("양념치킨", 12000, 1),
GJ("간장치킨", 12000, 0),
RS("로제치킨", 14000, 0),
PP("땡초치킨", 13000, 2),
XX("폭렬치킨", 13000, 3);
//필드
private String name;
private int price;
private int spicyLevel;
//생성자
YalcoChickenMenu(String name, int price, int spicyLevel) {
this.name = name;
this.price = price;
this.spicyLevel = spicyLevel;
}
//메소드
public String getName() { return name; }
public int getPrice() { return price; }
public void setPrice(int price) {
this.price = price;
}
public String getDesc () {
String peppers = "";
if (spicyLevel > 0) {
peppers = "🌶️".repeat(spicyLevel);
}
return "%s %s원 %s"
.formatted(name, price, peppers);
}
}
★ 열거형의 메소드들