1.열거형이란?
관련 상수(열거형 상수는 객체임)들을 같이 묶어 놓은 것을 말한다. java의 열겨형은 값과 타입 둘다 체크함
2. 열거형 정의하는 방법
enum 열거형 이름{ 상수명1, 상수명2, ...}
enum Direction {EAST, SOUTH, WEST, NORTH}
class Unit{
int x, y;
Direction dir ; //열거형을 인스턴스 변수로 선언
void init(){
dir = Direction.EASE; //유닛의 방향을 EAST로 초기화(클래스의 static 변수를 참조하는 것과 동일)
열거형 상수 비교에 ==와 compareTo(비교연산자 사용 불가 대신 compareTo사용)사용가능
compareTo 같으면 0, 왼쪽이 크면 양수, 오른쪽이 크면 음수
3. 열거형의 조상 Enum
잘 쓰이는 메서드
String name() : 열거형 상수의 이름을 문자열로 반환
int ordinal() : 열거형 상수가 정의된 순서를 반환
아래 두개는 컴파일러가 자동으로 추가
values()
valueOf()
4. switch후에 case문에 씀
void move(){
switch(dir){
case EAST: x++;
break;
case WEST: x--;
break;
case SOUTH: y++;
break;
case NORTH: y--;
break;
}
}
5. Enum은 왜써주는 거지?
상수의 값이 바뀌면 해당 상수를 참조하는 모든 소스를 다시 컴파일 해야하지만, 열거형 상수를 사용하면 기존 소스를 다시 컴파일 하지 않아도 된다.
'Back-end > Java Language' 카테고리의 다른 글
변수명 짓는 방법 (0) | 2021.09.17 |
---|---|
@SuppressWarnings (0) | 2021.09.08 |
람다식(Lamda expression) (0) | 2021.07.19 |
Scanner (0) | 2021.07.05 |
0. StringBuilder vs. StringBuffer (0) | 2021.07.04 |