🍡 java

JAVA | enum

c0zi 2023. 6. 13. 15:47

enumμ΄λž€


enumeration type을 쀄인 κ²ƒμœΌλ‘œ, μ˜λ―ΈμžˆλŠ” μƒμˆ˜λ₯Ό μ—΄κ±°ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 클래슀

 


1. πŸ”₯ enum μ‚¬μš©μ˜ μž₯점

  • 열거체λ₯Ό 비ꡐ할 λ•Œ μ‹€μ œ κ°’λΏλ§Œ μ•„λ‹ˆλΌ νƒ€μž…κΉŒμ§€ 체크
  • μ—΄κ±°μ²΄μ˜ μƒμˆ«κ°’μ΄ μž¬μ •μ˜λ˜λ”λΌλ„ λ‹€μ‹œ μ»΄νŒŒμΌν•  ν•„μš” x

 

2. πŸ–₯️ μ‚¬μš© μ˜ˆμ‹œ (week)

β–Ό Week μ •μ˜ enum

enum Week {
    MON, TUE, WED, THU, FRI, SAT, SUN
}

β–Ό enum μƒμˆ˜λ₯Ό 전달 λ°›λŠ” today λ©”μ†Œλ“œ μ •μ˜

public static void today(Week week) {
        switch (week) {
            case MON:
                System.out.println("μ˜€λŠ˜μ€ μ›”μš”μΌμž…λ‹ˆλ‹€.");
                break;
            case TUE:
                System.out.println("μ˜€λŠ˜μ€ ν™”μš”μΌμž…λ‹ˆλ‹€.");
                break;
            case WED:
                System.out.println("μ˜€λŠ˜μ€ μˆ˜μš”μΌμž…λ‹ˆλ‹€.");
                break;
            case THU:
                System.out.println("μ˜€λŠ˜μ€ λͺ©μš”μΌμž…λ‹ˆλ‹€.");
                break;
            case FRI:
                System.out.println("μ˜€λŠ˜μ€ κΈˆμš”μΌμž…λ‹ˆλ‹€.");
                break;
            case SAT:
                System.out.println("μ˜€λŠ˜μ€ ν† μš”μΌμž…λ‹ˆλ‹€.");
                break;
            case SUN:
                System.out.println("μ˜€λŠ˜μ€ μΌμš”μΌμž…λ‹ˆλ‹€.");
                break;
        }
    }

β–Ό main λ©”μ†Œλ“œ 호좜 ν›„ κ²°κ³Ό μ‹€ν–‰

public static void main(String[] args) {
        today(Week.MON); // μ˜€λŠ˜μ€ μ›”μš”μΌ μž…λ‹ˆλ‹€.
    }

 

3. πŸ“‘ enum λ‹€λ₯΄κ²Œ μ •μ˜ν•˜κΈ°

λΆˆκ·œμΉ™ν•œ νŠΉμ • 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄μ„œλŠ” μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ™€ μƒμ„±μžλ₯Ό λ³„λ„λ‘œ μΆ”κ°€ν•΄μ•Ό 함

enum Week {
    MON(3), 
    TUE(5), 
    WED(1), 
    THU(7),
    FRI(4),
    SAT(2),
    SUN(6);

    int value;

    Week(int value) {
        this.value = value;
    }
}

 

4. ⌨️ enum κ΄€λ ¨ λ©”μ†Œλ“œ

 

1) ordinal() λ©”μ†Œλ“œ

  • enum μƒμˆ˜μ— μ •μ˜λœ μˆœμ„œκ°’ λ°˜ν™˜
  • μ •μ˜λœ μƒμˆ˜μ˜ μœ„μΉ˜κ°€ λ°”λ€Œλ©΄ λ³€ν™”ν•  수 있음

ex. System.out.println(Week.THU.ordinal()); // 2

2) name() λ©”μ†Œλ“œ

  • enum μƒμˆ˜μ— μ •μ˜λœ 이름 λ°˜ν™˜

ex. System.out.println(Week.WED.name()); // WED


참고자료 :