개발 언어들 정리/JAVA
[java] Enum 이란
notx2wice
2021. 6. 18. 14:51
Enum class란
자바에서 바뀌지 않는 상수, 파이(pi)등을 선언 할 때
final double PI = 3.141592;
위와 같은 식으로 선언하곤 한다.
하지만 모든 고정된 상수들이 1대1로 매칭되는 것은 아니다
성별 - 남,여 ,기타 처럼 하나의 값을 표현 하는 2개 이상의 유한한 상태들이 존재할수 있고 이 때 이를 위의 final변수를 사용해 선언할경우 여러가지 불편함이 있을 수 있다.
그래서 java1.5부터는 enum 자료형을 지원하기 시작했는데 사용법은 아래와 같다.
public enum Gender {
// 열거형으로 선언된 순서에 따라 0부터 인덱스 값을 가진다. 순차적 증가
FEMALE, MALE, ETC
// 상수들은 대문자로 선언해야한다.
// 마지막에 ;를 찍지 않는다. -> 단 상수와 값을 연결 시킬경우 ;를 찍는다.
}
이렇게 만들어두면 Gender. 까지만 입력해도 ide에서 편하게 볼수 있어 좋다.
Enum method
열거형 상수에 다른 값을 연결시키기
열거형 상수와 관련된 값을 생성자를 통해 연결시킬 경우 세미콜론(;)을 붙여야함
enum Gender{
MALE("남자"), FEMALE("여자"), ETC("기타"); //값을 줄 때는 ;을 붙인다 !!!
final private String name;
public String getName() {
return name;
}
private Gender(String name){
this.name = name;
}
}
위와 같이 메서드를 만들어두면 준 값들을
System.out.println(Gender.MALE.getName()) 과 같은 식으로 불러올 수 있다.