보통 Java 개발을 하다보면 상수 인스턴스를 enum으로 구현해서 사용하는 경우가 많다.
이러한 용도 말고도 어떻게 enum을 활용할 수 있는지 알아보는 시간을 가져보겠다.
enum Level {
LOW(1),
MEDIUM(3),
HIGH(5);
private int num;
Level(int num){
this.num = num;
}
public int getNum(){
return num;
}
}
enum Level {
LOW(1),
MEDIUM(3),
HIGH(5);
private final int num;
Level(int num){
this.num = num;
}
public int getNum(){
return num;
}
}
public class Singleton {
private static Singleton instance;
private Singleton(){}
public static Singleton getInstance() {
if(instance == null) {
synchronized (Singleton.class) {
if(instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
public enum Singleton {
SINGLETON
}
values()
를 통해서 배열을 순회하는것이 아닌, iterable
형식으로 조회할 수 있다.import java.util.EnumSet;
enum Level {
LOW(1),
MEDIUM(3),
HIGH(5);
private int num;
Level(int num){
this.num = num;
}
public int getNum(){
return num;
}
static Set<Level> getAll() {
return EnumSet.allOf(Level.class);
}
}
class Test {
public static void main(String[] args) {
Level.getALl()
.forEach(System.out::println);
}
}
https://www.w3schools.com/java/java_enums.asp
https://techblog.woowahan.com/2527/
https://www.youtube.com/watch?v=jVJboEeX5Wg