Enumerationμ μ½μλ‘ μ΄κ±°, λͺ©λ‘μ΄λΌλ μλ―Έ
κ΄λ ¨μλ μμλ€μ μ§ν©μ λνλ΄λ©°,
Javaμμ finalν μνλ‘!
κ³ μ μ μΌλ‘ λ€μ΄μ€λ Stringμ΄λ int λ±μ λ¬Άμ΄λμ μν μ΄λΌκ³ νλ€.
EX) μμΌ, κ³μ , κΆν, κ³Όλͺ© λ±...
1. Enumμ heap λ©λͺ¨λ¦¬μ μμ±λλ€.
ν΄λμ€λ‘ μ»΄νμΌλμ΄ μΌλ°μ μΈ κ°μ²΄μ λ§μ°¬κ°μ§λ‘ heap λ©λͺ¨λ¦¬μ μμ±μ΄ λλ€.
2. κ³ μ λ μΈμ€ν΄μ€λ‘μ static νλμ μ μλλ€.
Enum μμλ ν΄λΉ Enum νμ μ μ μΌν μΈμ€ν΄μ€λ‘ μ‘΄μ¬νλ©°, ν΄λΉ μμλ€μ Enum μ μ μμ μ μμ±μ΄ λλ€.
ν΄λμ€μ static νλλ‘ μ μ μ΄κΈ°νλλ©°, ν΄λμ€μ μμ±μμμ μμμ μ΄κΈ°ν μμ μ΄ μ§νλλ€.
λ°λΌμ, μ΄λ―Έ μ μλ μμ μΈμ€ν΄μ€λ₯Ό κ°μ§κ³ μμΌλ―λ‘, μ¬μ©ν λλ§λ€ μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μκ² λλ€.
λ§μ½ κΆνμ λν΄μ μλ₯Ό λλ¦°λ€κ³ ν΄λ,
DBμ λ΄μ©μ λ λκ³ Enum ν΄λμ€ νμΌλ§ μμ ν΄μ£Όλ©΄ μΆλ ₯νλ κ°μ μλμΌλ‘ μ μ©μ΄ λλ€.
μμλ‘ κ³ΌμΌμ νλ€κ³ νμ.
μ¬λ¬ μμν κ°μ²΄λ₯Ό μμ±ν΄λμ Util ν΄λμ€ λ±μ΄ μλ€κ³ ν΄λ...κ°μ Έλ€ μ°κΈ°μ κ·Έ μκ° λ§λ€λ³΄λ©΄ ν·κ°λ¦΄ μκ° μλ€.
κ·Έλ¦¬κ³ ν΄λΉ νλ‘μ νΈμμ μ€μ ν κ·Έλ£Ήμ λ²μκ° μ΄λκΉμ§μΈμ§ μκΈ°λ μ΄λ ΅λ€!
Public enum Fruit{
apple,
banana,
grape,
watermelon,
peach;
}
ν΄λμ€ μμ±μ μμ κ°μ μμΌλ‘ ν΄μ£Όλ©΄ λλ€.
λμ μμ±μ μ μλ PrivateμΌλ‘ ν΄μΌ 컨νμΌ μλ¬κ° λ°μνμ§ μλλ€!
κ³ μ λ μμμ μ§ν©μ΄κΈ°μ λ°νμμ΄ μλ μ»΄νμΌ νμμ κ³ μ λλλ‘ ν΄μΌνκΈ° λλ¬Έμ΄λ€.
| λ©μλ | κΈ°λ₯ |
|---|---|
| toString() | ν΄λΉ μμ μ΄λ¦μ λ¬Έμμ΄λ‘ λ°ν (μ€λ²λΌμ΄λ© κ°λ₯) |
| name() | ν΄λΉ μμ μ΄λ¦μ λ¬Έμμ΄λ‘ λ°ν (μ€λ²λΌμ΄λ© λΆκ°) |
| compareTo() | - μ λ ¬μ κΈ°μ€μ μν λ©μλλ‘, λΉκ΅ λμλ³΄λ€ μμκ° λΉ λ₯΄λ©΄ -1, κ°μΌλ©΄ 0, λ리면 1 λ°ν
- μ λ ¬ μμλ μμκ° μ μΈλ μμκ° λν΄νΈλ‘ μ§μ |
| ordinal() | - μμμ μ μΈ μμμ λ°λ₯Έ μΈλ±μ€ κ°μ λ°ν(0λΆν° μμ)
- Enum μ체μ private final int ordinalμ΄ μ μλμ΄ μ΄λ₯Ό μ¬μ©ν¨ |
| valueOf() | μΈμλ‘ λ°μ μ΄λ¦κ³Ό κ°μ Enum κ°μΌλ‘ λ°ν |
| values() | μ μΈλ λͺ¨λ Enum κ°μ μμλλ‘ λ°°μ΄μ λ΄μ λ°ν |
λ€μ κΈμμ μ€μ νλ‘μ νΈμμλ μ΄λ»κ² μ¬μ©νλμ§ λ΄μλ³΄λ €κ³ νλ€!