GiantStepDEV

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
profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!