피할 수 없다면 즐기자! 스프링부트 너.. 뭐 돼?
데이터 중에는 요일(월, 화, 수, 목, 금, 토, 일), 계절(봄, 여름, 가을, 겨울)등과 같이 몇 가지 한정된 값을 갖는 경우가 있어요. 이렇게 열거된 타입에 들어가는 값(월,화,...) 들을 열거 상수라고 해요.
자바 class대신 enum으로 작성해줘요.
enum열거형으로 지정할 상수들은 전부 대문자로 선언해요.
순서에 따라 0부터 index를 가지게 되며, 1씩 돼요.
열거 상수들을 선언한 뒤에는 세미콜론(;)을 작성하지 않고, 상수("문자열")등 상수와 다른 값을 연결하는 경우에는 세미콜론(;)을 작성해요.
코드가 단순해지며 가독성이 좋아져요.
계절 enum 작성하기
public enum Season {
SPRING, SUMMER, FALL, WINTER
}
public enum Type {
// static final String WALKING = "워킹화";
WALKING("워킹화"),
RUNNING("러닝화"),
TRACKING("트래킹화"),
HIKING("등산화");
final private String name;
private Type(String name) { // enum에서 생성자와 같은 개념
this.name = name;
}
public String getName() { // 문자를 받아오는 함수
return name;
}
}
package com.koreait.item.enumeration;
public class Main02 {
public static void main(String[] args) {
Season season = Season.SPRING;
// name() : 열거객체의 문자열 리턴
String name = season.name();
System.out.println(name);
System.out.println("----------");
// ordinal() : 열거 객체가 몇 번째인지를 리턴
int ordinal = season.ordinal();
System.out.println(ordinal);
System.out.println("----------");
// values() : 열거 타입의 모든 열거 객체들을 배열로 만들어 리턴
Season[] seasons1 = Season.values();
for(Season s : seasons1) {
System.out.println(s);
}
System.out.println("----------");
}
}
package com.koreait.item.enumeration;
public class Main03 {
public static void main(String[] args) {
for(Type type : Type.values()) {
System.out.println(type.getName());
}
}
}
출처
https://media.giphy.com/media/kyUIknbbDNvID5XzU4/giphy.gif
https://media.giphy.com/media/A6aHBCFqlE0Rq/giphy.gif