Language/java
[Java] 열거형_열거형에 멤버 추가하기
gamxong
2022. 7. 30. 10:48
열거형에 멤버 추가하기
: ordinal()이 열거형 상수가 정의된 순서를 반환하지만, 이 값을 열거형 상수의 값으로 사용하지 않는 것이 좋다
enum Direction {
EAST(1), SOUTH(5), WEST(-1), NORTH(10); // 끝에 ';'를 추가해야 함
private final int value; // 정수를 저장할 필드(인스턴스 변수)를 추가
Direction(int value) { this.value = value } // 생성자를 추가, // private Direction(int value)와 동일
public int getValue() { return value; }
}
열거형에 추상 메서드 추가하기
enum Transportation {
BUS(100) { int fare(int distance) { return distance*BASIC_FARE; }},
TRAIN(150) { int fare(int distance) { return distance*BASIC_FARE; }},
SHIP(100) { int fare(int distance) { return distance*BASIC_FARE; }},
AIRPLANE(300) { int fare(int distance) { return distance*BASIC_FARE; }};
abstract int fare(int dinstance);
protected final int BASIC_FARE; // protected로 해야 각 상수에서 접근가능
Transportation(int basicFare) {
BASIC_FARE = basicFare;
}
public int getBasicFare() { return BASIC_FARE; }
}