#열거형(Enum)
: 서로 연관된 상수들의 집합
- 상수는 변하지 않는 값(final으로 선언)
- 열거형은 한정된 변하지 않는 데이터를 다루는 데 사용한다.
- 상수 명과 할당된 정수값의 중복을 피하고, 타입 안정성의 문제를 해결할 수 있다.
- switch문과 함께 사용 가능.
eunm Animals {TIGER, DOG, CAT, GUINEAPIG}
public class Main {
public static void main(String[] args) {
Animals animals = Animals.CAT;
switch (seasons) {
case TIGER;
System.out.println("어흥!");
break;
case DOG;
System.out.println("멍멍");
break;
case CAT;
System.out.println("냐옹");
break;
case GUINEAPIG;
System.out.println("꿀꿀");
break;
}
}
}
//출력값
야옹
#열거형의 사용
- 상수는 대문자로 작성한다.
- 각각의 상수들에는 정수값이 자동적으로 할당됨.
- 열거형이름.상수명 을 통해 열거형에 선언된 상수에 접근할 수 있다.
- 열거형을 참조변수에 할당할 수 있다.
enum Animals { TIGER, DOG, CAT, GUINEAPIG }
public class EnumExample {
public static void main(String[] args) {
Animlas favoriteAnimal = Animals.TIGER;
System.out.println(favoriteAnimal); // TIGER
}
}
- 열거형을 참조변수에 할당하고 switch문을 사용하여 해당하는 값을 얻을 수 있다.
enum Level {
LOW, // 자동으로 정수 0 배정
MEDIUM, // 1
HIGH // 2
}
public class Main {
public static void main(String[] args) {
Level level = Level.MEDIUM;
switch(level) {
case LOW:
System.out.println("레벨 1");
break;
case MEDIUM:
System.out.println("레벨 2");
break;
case HIGH:
System.out.println("레벨 3");
break;
}
}
}
// 출력값 : 레벨 2
- 열거형 메서드
리턴 타입 | 메서드(매개변수) | 설명 |
String | name() | 열개 객체가 가지고 있는 문자열을 리턴. 리턴되는 문자열은 열거타입을 정의할 때 사용한 상수 이름과 동일 |
int | ordinal() | 열거 객체의 순번(0부터 시작)을 리턴 |
int | compareTo(비교값) | 주어진 매개 값과 비교해서 순번 차이를 리턴 |
열거 타입 | valueOf(String name) | 주어진 문자열의 열거 객체를 리턴 |
열거 배열 | values() | 모든 열거 객체들을 배열로 리턴 |
'개발지 > Today I learn' 카테고리의 다른 글
[0809] 자바 컬렉션 3 (예외 처리) (0) | 2023.08.09 |
---|---|
[0808] 자바 컬렉션 2 (제네릭) (0) | 2023.08.08 |
[0731] 자바 객체지향 프로그래밍 심화 (추상화) (2) | 2023.08.01 |
[0728] 자바 객체지향 프로그래밍 심화 (다형성) (0) | 2023.07.28 |
[0727] 자바 객체지향 프로그래밍 심화 (캡슐화) (0) | 2023.07.27 |