🧩 enum
- Enumeration
- 데이터 중에는 요일(월,화,수,목,금,토,일), 계절(봄,여름,가을,겨울) 등과
같이 몇 가지 한정된 값을 갖는 경우가 있다.
- 열거 타입에 들어가는 값(월, 화, ... )들을 열거 상수라고한다.
- 자바 class대신 enum을 적어준다.
- 열거 상수를 적을때는 첫 글자를 대문자로 작성.
- 순서에 따라 0부터 index를 가지게 되며, 1씩 증가
- enum 열거형으로 지정할 상수들은 전부 대문자로 선언
- 열거 상수들을 선언한 뒤에는 세미콜론(;)을 작성하지 않고,
상수("문자열")등 상수와 다른 값을 연결하는 경우에는 세미콜론(;) 작성
- 코드가 단순해 지며 가독성이 좋아짐
1) 열거 상수를 다른 값과 연결하기
- 상수("연결문자"), 상수(값)과 같은 형태로 작성
- 상수들을 열거한 끝에 ; 작성
- 해당 자료형에 맞는 private 생성자 필요
- 연결한 값을 반환해줄 getter 메서드 필요
🧩enum 실습
💊실습 1)
week
public enum Week {
MONDAY, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;
public void dayInfo() {
System.out.println("dayInfo enum");
}
}
Main01
public class Main01 {
public static void main(String[] args) {
Week today = Week.FRIDAY;
System.out.println(today);
Week.MONDAY.dayInfo();
Week.TUESDAY.dayInfo();
}
}
💊실습 2)
Season
public enum Season {
SPRING, SUMMER, FALL, WINTER
}
Main02
public class Main02 {
public static void main(String[] args) {
Season season = Season.SPRING;
String name = season.name();
System.out.println(name);
System.out.println("-----");
int ordinal = season.ordinal();
System.out.println(ordinal);
System.out.println("-----");
Season[] season1 = Season.values();
for( Season s : season1) {
System.out.println(s);
}
}
}
💊실습 3)
Type
public enum Type {
WALKING("워킹화"),
RUNNING("러닝화"),
TRACKING("트래킹화"),
HIKING("등산화");
final private String name;
private Type(String name) {
this.name =name;
}
public String getName() {
return name;
}
}
Main03
public class Main03 {
public static void main(String[] args) {
for(Type type : Type.values()) {
System.out.println(type.getName());
}
}
}