발걸음/일지
[JAVA] Enum(열거형)
리꾸므
2022. 11. 10. 10:57
Enum : 열거형
- 서로 연관된 상수들의 집합
- 상수는 'final' 키워드를 사용하여 선언
- 몇 가지로 한정된 변하지 않는 데이터를 다루는데 사용
- 여러 상수들을 보다 편리하게 선언하고 관리할 수 있으며, 상수명의 중복을 피하고 타입 안정성 보장
- 같은 효과 내는 코드에 반해 더 간결하고 가독성이 좋은 코드를 작성 가능
- switch문에서도 작동 가능
열거형의 사용
enum 열거형 이름 { 상수명1, 상수명2, 상수명3, ...}
/
public class Main {
public static void main(String[] args) {
enum month{
JAN, //0 할당
FEB, //1 할당
MAR, //2 할당
APR //3 할당
}
Month month = Month.JAN;
switch(month) {
casw Jan:
System.outprintle("1월");
break;
casw FEB:
System.outprintle("2월");
break;
casw MAR:
System.outprintle("3월");
break;
casw APR:
System.outprintle("3월");
break;
}
}
}
- 상수는 대소문자 모두 작성 가능하지만 관례적으로 대문자 작성
- 상수들에게 따로 값을 지정하지않아도 자동적으로 0부터 시작하는 정수값이 할당
- 열거형에 선언된 상수에 접근하는 법은 '열거형이름.상수명'을 통해 가능
리턴 타입 | 메소드(매개변수) | 설명 |
String | name() | 열거 객체가 가지고 있는 문자열을 리턴하며, 리턴되는 문자열은 열거타입을 정의할 때 사용한 상수 이름과 동일합니다. |
int | ordinal() | 열거 객체의 순번(0부터 시작)을 리턴합니다. |
int | compareTo(비교값) | 주어진 매개값과 비교해서 순번 차이를 리턴합니다. |
열거 타입 | valueOf (String name) |
주어진 문자열의 열거 객체를 리턴합니다. |
열거 배열 | values() | 모든 열거 객체들을 배열로 리턴합니다. |