열거형에 멤버 추가하기
: 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; }
}
'Language > java' 카테고리의 다른 글
[Java] 애너테이션 (0) | 2022.08.02 |
---|---|
[Java] 열거형_열거형의 이해 (0) | 2022.07.30 |
[Java] 열거형_열거형이란? (0) | 2022.07.30 |
[Java] 지네릭스_지네릭 타입의 제거 (0) | 2022.07.29 |
[Java] 지네릭스_지네릭 타입의 형변환 (0) | 2022.07.29 |
댓글