λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Programming/Java

24 Enum

by Dowon Kang 2024. 1. 21.

enum은 μžλ°”μ—μ„œ μ—΄κ±°ν˜•(Enumeration)을 λ‚˜νƒ€λ‚΄λŠ” ν‚€μ›Œλ“œμž…λ‹ˆλ‹€. μ—΄κ±°ν˜•μ€ μ„œλ‘œ μ—°κ΄€λœ μƒμˆ˜λ“€μ˜ 집합을 μ •μ˜ν•  λ•Œ μ‚¬μš©λ˜λ©° ν•΄λ‹Ή μƒμˆ˜λ“€ μ‚¬μ΄μ˜ 관계λ₯Ό λͺ…ν™•ν•˜κ²Œ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό 톡해 μ½”λ“œμ˜ 가독성을 ν–₯μƒμ‹œν‚€κ³  μœ μ§€λ³΄μˆ˜μ„±μ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€. μ—΄κ±°ν˜•μ€ μžλ°” 5λΆ€ν„° λ„μž…λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

μ—΄κ±°ν˜•μ„ μ‚¬μš©ν•˜λŠ” μ΄μœ μ™€ μ£Όμš” νŠΉμ§•

  • 가독성 ν–₯상: μ—΄κ±°ν˜•μ„ μ‚¬μš©ν•˜λ©΄ μ„œλ‘œ κ΄€λ ¨λœ μƒμˆ˜λ“€μ„ ν•œ κ³³μ— κ·Έλ£Ήν™”ν•  μˆ˜ μžˆμ–΄ μ½”λ“œμ˜ κ°€λ…성이 ν–₯μƒλ©λ‹ˆλ‹€.
  • νƒ€μž… μ•ˆμ •μ„±: μ—΄κ±°ν˜•μ€ νƒ€μž… μ•ˆμ „μ„±μ„ μ œκ³΅ν•©λ‹ˆλ‹€. enum으둜 μ •μ˜λœ μƒμˆ˜ μ΄μ™Έμ˜ 값은 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • 컴파일 νƒ€μž„ 체크: μ—΄κ±°ν˜•μ„ μ‚¬μš©ν•˜λ©΄ 컴파일 νƒ€μž„μ—μ„œ μœ νš¨ν•œ 값인지 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ—΄κ±°ν˜• λ©”μ„œλ“œ: μ—΄κ±°ν˜•μ€ λ©”μ„œλ“œμ™€ μƒμ„±μžλ₯Ό κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

μ—΄κ±°ν˜•μ˜ 단점 

  • μœ μ—°μ„± μ œν•œ: μ—΄κ±°ν˜•μ€ μƒμˆ˜μ˜ 집합을 λ‚˜νƒ€λ‚΄κΈ° μœ„ν•œ μš©λ„λ‘œ μ„€κ³„λ˜μ–΄ μžˆμ–΄, λ™μ μœΌλ‘œ μƒμˆ˜λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ μˆ˜μ •ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€. μ΄λŠ” 일뢀 μƒν™©μ—μ„œ μ œμ•½μ΄ 될 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ©”λͺ¨λ¦¬ μ‚¬μš©: μ—΄κ±°ν˜• μƒμˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ΄ 싀행될 λ•Œ 미리 μ •μ˜λ˜μ–΄ μžˆμœΌλ―€λ‘œ, λͺ¨λ“  μƒμˆ˜κ°€ λ©”λͺ¨λ¦¬μ— λ‘œλ“œλ©λ‹ˆλ‹€. 큰 규λͺ¨μ˜ μ—΄κ±°ν˜•μ—μ„œλŠ” λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ΄ 증가할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν™•μž₯μ„± 어렀움: 이미 μ •μ˜λœ μ—΄κ±°ν˜•μ„ ν™•μž₯ν•˜λŠ” 것은 μ–΄λ ΅μŠ΅λ‹ˆλ‹€. μƒˆλ‘œμš΄ μƒμˆ˜λ₯Ό μΆ”κ°€ν•˜λŠ” 경우 κΈ°μ‘΄ μ½”λ“œμ— 영ν–₯을 λ―ΈμΉ  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 


 

 

μ˜ˆμ‹œ μ½”λ“œ 1 

 

 

μ˜ˆμ‹œ μ½”λ“œ 2

더보기

enum Coffee {
    ESPRESSO("Espresso", 30),
    AMERICANO("Americano", 50),
    LATTE("Latte", 60),
    CAPPUCCINO("Cappuccino", 70);

    private String name;
    private int price;

    Coffee(String name, int price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public int getPrice() {
        return price;
    }
}

 

더보기

public class Enum02 {
    public static void main(String[] args) {

        Coffee myCoffee = Coffee.LATTE;
        System.out.println("μ£Όλ¬Έν•œ μ»€ν”Ό: " + myCoffee.getName());
        System.out.println("가격: $" + myCoffee.getPrice());

        System.out.println("\n컀피 λ©”뉴:");
        for (Coffee coffee : Coffee.values()) {
            System.out.println(coffee.getName() + " - $" + coffee.getPrice());
        }

    }
}

 

 


An enumeration, also known as an enum, is a special data type used to define a collection of constants. It allows you to create a group of related values that represent a fixed set of options or choices.

 

'Programming > Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

26 Thread  (1) 2024.01.21
25 Generics  (1) 2024.01.21
23 Annotation  (1) 2024.01.21
22 throw & throws  (0) 2024.01.21
21 Exception handling  (0) 2024.01.21

λŒ“κΈ€