열거형 (enums)
1. 열거형이란?
- 서로 관련된 상수를 편리하게 선언하기 위한 것
여러 상수를 정의할 때 사용하면 유용 - 자바의 열거형은 타입에 안전한 열거형임
- 상수는 값이 바뀌면 해당 상수를 참조하는 모든 소스를 다시 컴파일해야 하지만 열거형 상술르 사용하면 다시 컴파일하지 않아도 됨
2. 열거형의 정의와 사용
- 정의
enum 열거형이름 { 상수명1, 상수명2, ... }
- 사용
열거형이름.상수명
- '=='을 사용할 수 있지만 '<', '>'와 같은 비교연산자는 사용불가(ComperTo()는 사용가능)
- case문에서 열거형의 이름을 사용할 때는 열거형 이름은 적지 않고 상수명만 적어야 함
3. 열거형에 멤버 추가하기
- 열거형 상수를 지정해주고 싶으면 이름 옆에 원하는 값을 괄호와 함께 적어주면 됨
enum Direction { EAST(1), SOUTH(5), WEST(-1), NORTH(10) };
- 지정된 값을 저장할 수 있는 인스턴스 변수와 생성자를 새로 추가해 주어야 함
- 열거형의 객체를 생성할 수 없음
열거형의 생성자는 제어자가 묵시적으로 private이기 때문 - 하나의 열거형 상수에 여러 값을 지정할 수도 있음
enum Direction { EAST(1, ">"), SOUTH(5, "<"), WEST(-1, "-"), NORTH(10, "+") };
- 열거형 추상 메서드 예제
enum Trasportation {
BUS(100) { int fare(int distance) { return distance*BASIC_FARE;}},
TRAIN(150) { int fare(int distance) { return distance*BASIC_FARE;}};
protected final int BASIC_FARE; // protected로 해야 각 상수에서 접근 가능
Transportation(int basicFare) {
BASIC_FARE = basicFare;
}
public int getBasicFare() { return BASIC_FARE; }
abstract in fare(int distance); // 추상메서드 (모든 열거형상수가 다 구현해야 함)
}
java의 정석 chapter12
Author And Source
이 문제에 관하여(열거형 (enums)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@roghabo/열거형-enums저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)