Java/๋ฌธ๋ฒ•

[Java ๋ฌธ๋ฒ• ์ด์ •๋ฆฌ] ์ƒ์ˆ˜ ์ง‘ํ•ฉ enum

soowitty 2024. 1. 27. 01:15
๐Ÿ’ก ๋Œ€๋ถ€๋ถ„์˜ ๋‚ด์šฉ์„ ์ ํ”„ ํˆฌ ์ž๋ฐ” ์—์„œ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

enum

enum ์ž๋ฃŒํ˜•์€ ์„œ๋กœ ์—ฐ๊ด€์ด ์žˆ๋Š” ๊ฒƒ๋“ค์˜ ์ƒ์ˆ˜ ์ง‘ํ•ฉ์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์–ด๋Š ์นดํŽ˜์—์„œ ํŒ๋งคํ•˜๋Š” ์ปคํ”ผ์˜ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

  • ์•„๋ฉ”๋ฆฌ์นด๋…ธ
  • ์นดํŽ˜๋ผ๋–ผ
  • ๋ฐ€ํฌํ‹ฐ

์ด๋ฅผ enum์œผ๋กœ ์ƒ์ˆ˜์ง‘ํ•ฉ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

enum CoffeType {
		AMERICANO,
		CAFELATTE,
		MILKTEA
};

 

์ด๋ ‡๊ฒŒ ์ •์˜ํ•œ ์ƒ์ˆ˜์ง‘ํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

public class Sample {
    enum CoffeeType {
        AMERICANO,
		CAFELATTE,
		MILKTEA
    };

    public static void main(String[] args) {
        System.out.println(CoffeeType.AMERICANO);  // AMERICANO ์ถœ๋ ฅ
    }
}

 

enum์˜ ํ•„์š”์„ฑ

 

๋‹ค์Œ ์˜ˆ๋ฅผ ํ†ตํ•ด enum์„ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์žฅ์ ์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณธ๋‹ค.

์ข…๋ฅ˜๋ณ„๋กœ ํŒ๋งค๋œ ์Œ๋ฃŒ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” countSellCoffe ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค.

int countSellCoffee(int type) {
    ... ์ƒ๋žต ...
}

 

์•„๋ฉ”๋ฆฌ์นด๋…ธ์˜ ํŒ๋งค ๊ฐœ์ˆ˜๋ฅผ ์•Œ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆซ์ž 1์„ ๋„˜๊ฒจ์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด ๋ฐฉ์‹์€ ์ˆซ์ž 1์ด ์•„๋ฉ”๋ฆฌ์นด๋…ธ๋ผ๊ณ  ๊ธฐ์–ตํ•˜๋ฉฐ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํŽธํ•˜๋‹ค.

 

int americano = countSellCoffee(1);

 

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆซ์ž๋ฅผ ์ž˜๋ชป ๊ธฐ์ž…ํ•˜์—ฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

 

int result = countSellCoffee(99);  // 99๋ผ๋Š” ์ปคํ”ผ์˜ ์ข…๋ฅ˜๋Š” ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์ด๋•Œ, enum์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

enum CoffeeType {
    AMERICANO,
		CAFELATTE,
		MILKTEA
};

int countSellCoffee(CoffeType type) {
    ... ์ƒ๋žต ...
}

public static void main(String[] args) {
        int americano = countSellCoffee(CoffeType.AMERICANO);  // ์•„๋ฉ”๋ฆฌ์นด๋…ธ์˜ ํŒ๋งค๊ฐฏ์ˆ˜
    }

์ˆซ์ž 1์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋ณด๋‹ค ์ฝ”๋“œ๊ฐ€ ๋ช…ํ™•ํ•ด์ง„๋‹ค. ๋˜ํ•œ, countSellCoffee ๋ฉ”์„œ๋“œ์—๋Š” CoffeeType์— ์ •์˜๋œ ์ƒ์ˆ˜๋งŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ„์—์„œ ๋ณด์•˜๋˜ 99์ฒ˜๋Ÿผ ์—‰๋šฑํ•œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ƒ๊ธฐ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ •๋ฆฌํ•˜๋ฉด enum์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์ด ์žˆ๋‹ค.

  • ๋งค์ง ๋„˜๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ณด๋‹ค ์ฝ”๋“œ๊ฐ€ ๋ช…ํ™•ํ•˜๋‹ค.
  • ์ž˜๋ชป๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

 

์ดํ•ด๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋Š” ๋”์šฑ ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์„ ๋‹ด์€ ๋งํฌ๋ฅผ ์ฒจ๋ถ€ํ•œ๋‹ค.

Java Enum ํ™œ์šฉ๊ธฐ | ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ