Java

์Šคํ„ฐ๋””ํ• ๋ž˜ 11์ฃผ์ฐจ ๊ณผ์ œ: Enum(feedback, ํ”ผ๋“œ๋ฐฑ)

ํ–ฅ์ฐก 2021. 2. 13. 20:29

๐Ÿ“– ์ฑ… ์ถ”์ฒœ

ํ† ๋น„์˜ ์Šคํ”„๋ง3

 

Type Safety

Fruit.APPLE == Company.APPLE์ด true๊ฐ€ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์•„๋ž˜ ์˜ˆ์ œ์—์„œ intํƒ€์ž…, ๊ฐ’๋„ ๊ฐ™์€ ๊ฒฝ์šฐ๋ผ๋ฉด true๊ฐ€ ๋ผ๋ฒ„๋ฆฐ๋‹ค.

enum์„ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด true๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

Enum์„ ์ด์šฉํ•˜๋ฉด type safety๋ฅผ ๋ณด์žฅ

 

์ปดํŒŒ์ผ ํƒ€์ž„์—์„œ ์ฒดํฌํ•œ๋‹ค.

 

JPA์—์„œ @Enumerated(EnumType.ORDINAL)์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ 

  • ORDINAL : 0,1,2.. ์ˆœ์„œ๋กœ ์ €์žฅ(์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค, enum์ •๋ณด๊ฐ€ ๋ณ€๊ฒฝ๋ผ๋„ ๊ธฐ์กด ์ •๋ณด๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š”๋‹ค)
  • STRING : enum ์ด๋ฆ„์œผ๋กœ ์ €์žฅ

 

๐Ÿ’ก ๊ฟ€ํŒ : ์ •๋ ฌ ์ˆœ๋ฒˆ์„ ๋งค๊ธธ ๋•Œ 1,2,3์œผ๋กœ ํ•˜์ง€ ์•Š๊ณ  10 ๋‹จ์œ„๋กœ ์ž˜๋ผ์„œ 10,20,30์œผ๋กœ ํ•˜๋Š” ์ด์œ 

๋‚˜์ค‘์— ์ค‘๊ฐ„์— ์ถ”๊ฐ€๋  ์—ฌ์ง€๋ฅผ ๋‚จ๊ฒจ๋‘๊ธฐ ์œ„ํ•ด์„œ 

 

EnumSet์˜ allOf() ๋ฉ”์†Œ๋“œ

 

๋Œ“๊ธ€์ˆ˜0