ποΈ Backend/Java
μλ°(Java) - API ν΄λμ€ (4) Enum ν΄λμ€
kongmi
2023. 1. 26. 19:35
Enum ν΄λμ€(μ΄κ±°νμ )
- νμ λ κ°μΈ μ΄κ±° μμ μ€μμ νλμ μμλ₯Ό μ μ₯νλ νμ
- μ΄κ±°μ²΄λ₯Ό λΉκ΅ν λ μ€μ κ° λΏλ§ μλλΌ νμ κΉμ§ 체ν¬
- JDK 1.5μμ ν΄λΉ κΈ°λ₯ μΆκ°(κΈ°μ‘΄μ public class λ΄ final staticμΌλ‘ μ μνλ λΆλΆ λ체)
- μ΄κ±° νμ
μ μΈνλ€λ©΄ νμ
μ¬μ© κ°λ₯
β‘οΈ μ΄κ±° νμ λ νλμ λ°μ΄ν° νμ μ΄λ―λ‘ λ³μλ₯Ό μ μΈνκ³ μ¬μ©ν΄μΌ ν¨.
public enum DevType {
MOBILE, FRONTEND, BACKEND, DBA, EMBEDDED
}
public enum Career {
JUNIOR, SENIOR
}
public class Developer {
private String name;
private DevType type;
private Career career;
public Developer(String name, DevType type, Career career) {
this.name = name;
this.type = type;
this.career = career;
}
public void DevInfo() {
System.out.println("μ΄λ¦ : " + name);
System.out.println("μ§μ
: " + type);
System.out.println("κ²½λ ₯ : " + career);
}
}
public class Main {
public static void main(String[] args) {
Developer dev1 = new Developer("μ콩미","DevType.BACKEND","Career.JUNIOR");
dev1.devInfo();
}
}
μ΄λ¦ : μ콩미
μ
무 : BACKEND
κ²½λ ₯ : JUNIOR
μμμ κ°μ μ§μ λͺ»νκ² λ§μ μ μμ.
μΆν λ°μ΄ν°λ² μ΄μ€λ‘ μλ£ μ λ¬ν κ²½μ° μ½κ² μ λ ¬ ν μ μμ.
enum Rainbow {
RED, ORANGE, YELLOW, GREEN, BLUE, NAVY, PURPLE
}
values()
- ν΄λΉ μ΄κ±°μ²΄μ λͺ¨λ μμλ₯Ό μ μ₯ν λ°°μ΄μ μμ±ν΄μ λ°ν
public class Main{
public static void main(String[] args) {
Rainbow[] arr = Rainbow.values();
for(Rainbow e : arr) System.out.print(e + " ");
RED ORANGE YELLOW GREEN BLUE NAVY PURPLE
valueOf()
- μ λ¬λ λ¬Έμμ΄κ³Ό μΌμΉνλ ν΄λΉ μ΄κ±°μ²΄μ μμλ₯Ό λ°ν
Rainbow rb = Rainbow.valueOf("YELLOW");
System.out.println(rb);
YELLOW
ordinal()
- ν΄λΉ μ΄κ±°μ²΄μ μ μμμ μ μλ μμ(0λΆν° μμ)λ₯Ό λ°ν
int index = Rainbow.BLUE.ordinal();
System.out.println(index);
4