1. μκ°
μ΄κ±°ν(enum)μ΄λ?
μ΄κ±°ν(enum)μ νλ‘κ·Έλλ° μΈμ΄μμ μΌμ ν κ° λͺ©λ‘μ μ μνκ³ μ΄λ₯Ό νμ μΌλ‘ μ¬μ©ν μ μλ κΈ°λ₯μ λλ€. μ΄κ±°νμ μμλ₯Ό μ μνλ κ²κ³Ό μ μ¬νμ§λ§, μ΄κ±°νμ λ³΄λ€ κ°κ²°νκ³ λͺ νν μ½λ μμ±μ λμμ£Όλ©°, μ€νλ μλͺ»λ κ°μ μ¬μ©νλ μ€μλ₯Ό λ°©μ§ν μ μμ΅λλ€.
μ΄κ±°νμ μ¬μ©λͺ©μ
μ΄κ±°νμ μ½λμ κ°λ μ±μ λμ΄κ³ , μ μ¬μ μΈ λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§νλ©°, νλ‘κ·Έλλ¨Έμ μ€μλ₯Ό μ€μ΄λλ° λμμ μ€λλ€. λν, μ΄κ±°νμ μ¬μ©νμ¬ μ½λλ₯Ό μμ±νλ©΄ νΉμ κ°λ€μ κ·Έλ£Ήμ λμ± λͺ ννκ² ννν μ μμ΅λλ€. μ΄λ μ½λμ μ μ§λ³΄μμ±μ λμ΄κ³ , λ€λ₯Έ κ°λ°μλ€μ΄ μ½λλ₯Ό μ΄ν΄νκΈ° μ½κ² λ§λ€μ΄μ€λλ€. μ΄κ±°νμ μ¬λ¬ κ°μ§ μν©μμ μ μ©νκ² νμ©λ μ μμΌλ©°, λ€μν μμ λ₯Ό ν΅ν΄ κ·Έ νμ©λ²μλ₯Ό μμλ³Ό κ²μ λλ€.
- μ΄κ±°ν(enum)μ΄λ?
μ΄κ±°ν(enum)μ νλ‘κ·Έλλ°μμ μΌμ ν κ° λͺ©λ‘μ μ μνλ λ°μ΄ν° νμ μ λλ€. μ΄κ±°νμ μ ν΄μ§ κ°λ€λ§μ κ°μ§ μ μμΌλ©°, μ΄λ¬ν κ°λ€μ μμλ‘ μ·¨κΈν©λλ€. μΌλ°μ μΌλ‘ μ΄κ±°νμ μλ³μλ₯Ό μ¬μ©νμ¬ κ°μ μ°Έμ‘°νλ κ²μ΄ κ°λ₯νλ©°, μ΄λ₯Ό ν΅ν΄ μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ λμΌ μ μμ΅λλ€.
μ΄κ±°νμ μ¬μ©νλ κ°μ₯ ν° μ΄μ λ κ°λ€μ μ§ν©μ μ μνκ³ νμ μΌλ‘ μ¬μ©ν μ μκΈ° λλ¬Έμ λλ€. μ΄λ νλ‘κ·Έλλ¨Έκ° μ μν κ°λ€μ λͺ ννκ² νννκ³ , μλͺ»λ κ° λλ μ€νλ₯Ό νΌν μ μλλ‘ λμμ€λλ€. λν, μ½λ λ΄μμ κ°μ μλ―Έλ₯Ό λ°λ‘ μ μ μμΌλ―λ‘ κ°λ μ±μ λμ¬μ£Όλ μν λ ν©λλ€.
μλ₯Ό λ€μ΄, "μμ"μ λνλ΄λ λ³μλ₯Ό μ¬μ©ν λ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ μ΄μ μ μ»μ μ μμ΅λλ€.
enum Color {
RED,
GREEN,
BLUE
}
μ μ½λμμ Color μ΄κ±°νμ RED, GREEN, BLUEμ μΈ κ°μ§ κ°μ κ°μ§ μ μμ΅λλ€. μ΄ μ΄κ±°νμ μ¬μ©νμ¬ λ³μλ₯Ό μ μΈνλ©΄, λ³μκ° κ°μ§ μ μλ κ°μ λ²μκ° λͺ νν μ μλλ―λ‘ μ½λμ κ°λ μ±μ΄ ν₯μλ©λλ€. λν, "μμ"μ λνλ΄λ λ³μλ μ΄μ λ μ΄μ μλͺ»λ κ°μ κ°μ§ μκ² λλ©°, κ°λ°μκ° μ¬λ°λ₯Έ κ°μ μ ννλλ‘ λμμ€λλ€.
μ΄λ¬ν μ΄κ±°νμ νΉμ§μ λ€μν μν©μμ μ μ©νκ² νμ©λ μ μμΌλ©°, λ€μ λ΄μ©μμ μ΄κ±°νμ μ μΈκ³Ό μ¬μ© λ°©λ²μ λν΄ μμΈν μμ보λλ‘ νκ² μ΅λλ€.
- μ΄κ±°νμ μ¬μ©λͺ©μ
μ΄κ±°ν(enum)μ νλ‘κ·Έλλ°μμ μ½λμ κ°λ μ±μ λμ΄κ³ , μ μ¬μ μΈ λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§νλ©°, κ°λ°μμ μ€μλ₯Ό μ΅μννλλ° λμμ μ£Όλ κΈ°λ₯μ λλ€. μ΄κ±°νμ μ¬μ©νλ μ£Όμ λͺ©μ μ λ€μκ³Ό κ°μ΅λλ€.
1. μ½λμ κ°λ μ± ν₯μ
μ΄κ±°νμ μ¬μ©νλ©΄ μ½λμ κ°λ μ±μ΄ ν₯μλ©λλ€. μ΄κ±°νμ νμ©νμ¬ κ°λ€μ κ·Έλ£Ήμ λͺ ννκ² μ μν μ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ λ³μλ ν¨μμ μΈμλ‘ μ¬μ©λ μ μλ κ°μ λ²μλ₯Ό νμ μν¬ μ μμ΅λλ€. μ΄λ μ½λλ₯Ό μ΄ν΄νλλ° νμν μΆλ‘ μμ μ μ΅μννκ³ , λ€λ₯Έ κ°λ°μλ€μ΄ μ½λλ₯Ό λ μ½κ² μ΄ν΄ν μ μλλ‘ λμμ€λλ€.
μλ₯Ό λ€μ΄, νμΌ μ΄κΈ° λͺ¨λλ₯Ό νννκΈ° μν΄ λ¬Έμμ΄μ μ¬μ©νλ€λ©΄ λ€μκ³Ό κ°μ ννκ° λ μ μμ΅λλ€.
String mode = "read";
νμ§λ§, λ¬Έμμ΄μ μ€νκ° λ°μνκΈ° μ½κ³ , μ΄λ€ κ°λ€μ μ νν μ μλμ§ λͺ ννμ§ μμ μ μμ΅λλ€. μ΄λ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ΄ μ½λλ₯Ό μμ±ν μ μμ΅λλ€.
enum FileMode {
READ,
WRITE,
APPEND
}
FileMode mode = FileMode.READ;
μ΄μ mode λ³μλ READ, WRITE, APPEND μ€ νλμ κ°λ§μ κ°μ§ μ μμΌλ©°, μ½λμ κ°λ μ±μ λμ¬μ£Όκ³ μ¬λ°λ₯Έ κ°μ μ νν μ μλλ‘ λμμ€λλ€.
2. μ μ¬μ μΈ λ²κ·Έ λ°©μ§
μ΄κ±°νμ μ¬μ©νλ©΄ μ ν΄μ§ κ°λ€λ§μ μ¬μ©ν μ μλλ‘ κ°μ ν¨μΌλ‘μ¨ μ μ¬μ μΈ λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§ν μ μμ΅λλ€. μ΄κ±°νμ μμλ‘ μ·¨κΈλκΈ° λλ¬Έμ, μλͺ»λ κ°μ μ¬μ©νκ±°λ μ€νλ₯Ό λΌ κ²½μ° μ»΄νμΌ μλ¬κ° λ°μνκ² λ©λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μκ° μ€μλ₯Ό μ΅μννκ³ λ°νμμμ λ°μν μ μλ λ²κ·Έλ₯Ό μ¬μ μ μ°¨λ¨ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, μμΌμ νννλ λ³μμ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ μ₯μ μ μ»μ μ μμ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day today = Day.MONDAY;
μμ μ½λμμ today λ³μλ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY μ€ νλμ κ°λ§μ κ°μ§ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ μμΌμ νννλ λ³μκ° μλͺ»λ κ°μ΄λ μ€νλ₯Ό κ°μ§ μλλ‘ λ³΄μ₯ν μ μμ΅λλ€.
3. μ½λμ μ€μ μ΅μν
μ΄κ±°νμ μ¬μ©νλ©΄ κ°λ°μκ° μ€μλ₯Ό νμ λ λ°λ‘ μμ차릴 μ μμ΅λλ€. μ΄κ±°νμ νμ©νλ©΄ λ΄μ₯λ νμ μμ€ν μ΄ μλͺ»λ κ°μ νμ©νμ§ μμΌλ―λ‘, κ°λ°μκ° μ¬λ°λ₯Έ κ°μ μ ννλλ‘ λμμ€λλ€. μ΄λ μνν λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§νκ³ , λλ²κΉ μκ°μ λ¨μΆμν€λλ° λμμ μ€λλ€.
μλ₯Ό λ€μ΄, μ ν리μΌμ΄μ μμ μ¬μ©μμ λ‘κ·ΈμΈ μνλ₯Ό λνλ΄λ λ³μμ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ μ΄μ μ΄ μμ΅λλ€.
enum LoginStatus {
LOGGED_IN,
LOGGED_OUT
}
LoginStatus status = LoginStatus.LOGGED_IN;
μμ μ½λμμ status λ³μλ LOGGED_IN λλ LOGGED_OUT μ€ νλμ κ°λ§μ κ°μ§ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μκ° μ€μλ‘ λ€λ₯Έ μνλ₯Ό ν λΉνλ μ€μλ₯Ό λ°©μ§ν μ μμΌλ©°, μ΄λ μ ν리μΌμ΄μ μ μμ μ±μ ν₯μμν¬ μ μμ΅λλ€.
μ 리νλ©΄, μ΄κ±°νμ μ½λμ κ°λ μ±μ λμ΄κ³ , μ μ¬μ μΈ λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§νλ©°, κ°λ°μμ μ€μλ₯Ό μ΅μννλλ° λμμ μ£Όλ κΈ°λ₯μ λλ€. μ΄λ₯Ό ν΅ν΄ μ½λμ μ μ§λ³΄μμ±μ ν₯μμν€κ³ , λ€λ₯Έ κ°λ°μλ€μ΄ μ½λλ₯Ό μ΄ν΄νκΈ° μ½κ² λ§λ€μ΄μ€λλ€.
- μ΄κ±°νμ μ¬μ©λͺ©μ
μ΄κ±°ν(enum)μ νλ‘κ·Έλλ°μμ μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ ν₯μμν€κΈ° μν΄ μ¬μ©λλ λ°μ΄ν° νμ μ λλ€. μ΄κ±°νμ μΌμ ν κ°λ€μ μ μνκ³ , μ΄λ₯Ό μμλ‘ μ¬μ©ν¨μΌλ‘μ¨ νΉμ κ°μ λ²μλ₯Ό μ ννκ³ λͺ ννκ² νννλλ° λμμ μ€λλ€. μλλ μ΄κ±°νμ μ£Όμ μ¬μ©λͺ©μ μ λν μμΈν μ€λͺ μ λλ€.
1. μ½λμ κ°λ μ± ν₯μ
μ΄κ±°νμ κ°λ€μ μ§ν©μ λͺ ννκ³ κ°κ²°νκ² ννν μ μλλ‘ λμμ€λλ€. μ΄κ±°νμ μΌλ°μ μΌλ‘ μλ³μλ₯Ό μ¬μ©νμ¬ κ°μ μ°Έμ‘°νλλ°, μ΄λ₯Ό ν΅ν΄ μ½λμ κ°λ μ±μ λμΌ μ μμ΅λλ€. λ³μλ ν¨μμ μΈμλ‘ μ¬μ©λ μ μλ κ°μ λ²μλ₯Ό νμ μν΄μΌλ‘μ¨, μ½λλ₯Ό μ΄ν΄νλλ° νμν μΆλ‘ μμ μ μ΅μννκ³ λ€λ₯Έ κ°λ°μλ€μ΄ μ½λλ₯Ό λ μ½κ² μ΄ν΄ν μ μλλ‘ λμμ€λλ€.
μλ₯Ό λ€μ΄, νμΌ μ΄κΈ° λͺ¨λλ₯Ό νννκΈ° μν΄ λ¬Έμμ΄μ μ¬μ©νλ€λ©΄ λ€μκ³Ό κ°μ ννκ° λ μ μμ΅λλ€.
String mode = "read";
νμ§λ§, λ¬Έμμ΄μ μ€νκ° λ°μνκΈ° μ½κ³ , μ΄λ€ κ°λ€μ μ νν μ μλμ§ λͺ ννμ§ μμ μ μμ΅λλ€. μ΄λ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ΄ μ½λλ₯Ό μμ±ν μ μμ΅λλ€.
enum FileMode {
READ,
WRITE,
APPEND
}
FileMode mode = FileMode.READ;
μ΄μ mode λ³μλ READ, WRITE, APPEND μ€ νλμ κ°λ§μ κ°μ§ μ μμΌλ©°, μ½λμ κ°λ μ±μ λμ¬μ£Όκ³ μ¬λ°λ₯Έ κ°μ μ νν μ μλλ‘ λμμ€λλ€.
2. μ μ¬μ μΈ λ²κ·Έ λ°©μ§
μ΄κ±°νμ μ¬μ©ν¨μΌλ‘μ¨ μ ν΄μ§ κ°λ€λ§μ μ¬μ©ν μ μλλ‘ κ°μ ν¨μΌλ‘μ¨ μ μ¬μ μΈ λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§ν μ μμ΅λλ€. μ΄κ±°νμ μμλ‘ μ·¨κΈλκΈ° λλ¬Έμ, μλͺ»λ κ°μ μ¬μ©νκ±°λ μ€νλ₯Ό λΌ κ²½μ° μ»΄νμΌ μλ¬κ° λ°μνκ² λ©λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μκ° μ€μλ₯Ό μ΅μννκ³ λ°νμμμ λ°μν μ μλ λ²κ·Έλ₯Ό μ¬μ μ μ°¨λ¨ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, μμΌμ νννλ λ³μμ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ μ₯μ μ μ»μ μ μμ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day today = Day.MONDAY;
μμ μ½λμμ today λ³μλ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY μ€ νλμ κ°λ§μ κ°μ§ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μλ μμΌμ νννλ λ³μκ° μλͺ»λ κ°μ΄λ μ€νλ₯Ό κ°μ§ μλλ‘ λ³΄μ₯ν μ μμ΅λλ€.
3. μ½λμ μ€μ μ΅μν
μ΄κ±°νμ μ¬μ©ν¨μΌλ‘μ¨ κ°λ°μκ° μ€μλ₯Ό νμ λ λ°λ‘ μμ차릴 μ μμ΅λλ€. μ΄κ±°νμ νμ©νλ©΄ λ΄μ₯λ νμ μμ€ν μ΄ μλͺ»λ κ°μ νμ©νμ§ μμΌλ―λ‘, κ°λ°μκ° μ¬λ°λ₯Έ κ°μ μ ννλλ‘ λμμ€λλ€. μ΄λ μνν λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§νκ³ , λλ²κΉ μκ°μ λ¨μΆμν€λλ° λμμ μ€λλ€.
μλ₯Ό λ€μ΄, μ ν리μΌμ΄μ μμ μ¬μ©μμ λ‘κ·ΈμΈ μνλ₯Ό λνλ΄λ λ³μμ μ΄κ±°νμ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ μ΄μ μ΄ μμ΅λλ€.
enum LoginStatus {
LOGGED_IN,
LOGGED_OUT
}
LoginStatus status = LoginStatus.LOGGED_IN;
μμ μ½λμμ status λ³μλ LOGGED_IN λλ LOGGED_OUT μ€ νλμ κ°λ§μ κ°μ§ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ°λ°μκ° μ€μλ‘ λ€λ₯Έ μνλ₯Ό ν λΉνλ μ€μλ₯Ό λ°©μ§ν μ μμΌλ©°, μ΄λ μ ν리μΌμ΄μ μ μμ μ±μ ν₯μμν¬ μ μμ΅λλ€.
μ 리νλ©΄, μ΄κ±°νμ μ½λμ κ°λ μ±μ λμ΄κ³ , μ μ¬μ μΈ λ²κ·Έλ₯Ό μ¬μ μ λ°©μ§νλ©°, κ°λ°μμ μ€μλ₯Ό μ΅μννλλ° λμμ μ£Όλ κΈ°λ₯μ λλ€. μ΄κ±°νμ μ¬μ©ν¨μΌλ‘μ¨ μ½λμ μ μ§λ³΄μμ±μ ν₯μμν¬ μ μκ³ , λ€λ₯Έ κ°λ°μλ€μ΄ μμ±ν μ½λμ λμ± μ½κ² νλ ₯ν μ μμ΅λλ€.
2. μ΄κ±°ν μ μΈκ³Ό κ° ν λΉ
μ΄κ±°ν(enum)μ μΌλ ¨μ μμ κ°λ€μ μ μνλλ° μ¬μ©λλ©°, κ° μμ κ°λ€μ μ΄κ±°νμ λ©€λ²λ‘ κ°μ£Όλ©λλ€. μ΄κ±°νμ μ μΈνκ³ κ°μ μ κ·Όνλ λ°©λ²μ λν΄ μλμμ μμΈν μ€λͺ νκ² μ΅λλ€.
μ΄κ±°νμ enum
ν€μλλ₯Ό μ¬μ©νμ¬ μ μΈν©λλ€. μ΄κ±°νμ λ©€λ²λ€μ μΌνλ‘ κ΅¬λΆνμ¬ μ μΈνλ©°, λλ¬Έμλ‘ μμ±νλ κ²μ΄ κ΄λ‘μ
λλ€. μλ₯Ό λ€μ΄, μμΌμ νννλ μ΄κ±°νμ μ μΈνλ€κ³ κ°μ ν΄λ΄
μλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
μμ μ½λμμ Day
λΌλ μ΄λ¦μ μ΄κ±°νμ μ μΈνμμ΅λλ€. μ΄κ±°ν λ©€λ²λ MONDAY
, TUESDAY
, WEDNESDAY
, THURSDAY
, FRIDAY
, SATURDAY
, SUNDAY
λ‘ μ μλμμΌλ©°, κ° λ©€λ²λ μ΄κ±°νμ μμλ‘ μ¬μ©λ μ μμ΅λλ€.
ν λ² μ΄κ±°νμ μ μΈν νμλ μ΄κ±°ν λ©€λ²λ₯Ό μ¬μ©νμ¬ λ³μμ κ°μ ν λΉν μ μμ΅λλ€. λ³μμ μ΄κ±°νμ κ°μ΄ ν λΉλλ κ²μ μ΄κ±°νμ λ©€λ² μ€ νλλ₯Ό μ ννλ κ²κ³Ό κ°μ΅λλ€. μλ₯Ό λ€μ΄, μ€λμ μμΌμ νννλ λ³μμ κ°μ ν λΉνκ³ μΆλ ₯νλ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
Day today = Day.MONDAY;
System.out.println("μ€λμ " + today + "μ
λλ€.");
μμ μ½λλ₯Ό μ€ννλ©΄, "μ€λμ MONDAYμ λλ€."λΌλ λ©μμ§κ° μΆλ ₯λ©λλ€. μ΄λ κ² μ΄κ±°νμ μ¬μ©νμ¬ κ°μ ν λΉνκ³ μΆλ ₯ν¨μΌλ‘μ¨, μ½λμ κ°λ μ±μ λμΌ μ μμ΅λλ€. λν, μ΄κ±°νμ μ¬μ©νλ©΄ μλͺ»λ κ°μ ν λΉνλ €κ³ μλν κ²½μ° μ»΄νμΌ μλ¬κ° λ°μνκ² λμ΄ μ μ¬μ μΈ λ²κ·Έλ₯Ό λ°©μ§ν μ μμ΅λλ€.
μ΄κ±°ν λ©€λ²μλ μΆκ°λ‘ κ°μ ν λΉνλ κ²λ κ°λ₯ν©λλ€. κ° λ©€λ²λ μ΄λ¬ν ν λΉλ κ°μ κ°μ§ μ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ κ° λ©€λ²μ μλ―Έλ₯Ό λͺ μμ μΌλ‘ ννν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μμΌ μ΄κ±°ν λ©€λ²μ κ° λ©€λ²μ ν΄λΉνλ μ«μ κ°μ ν λΉνλ€κ³ κ°μ ν΄λ΄ μλ€.
enum Day {
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6),
SUNDAY(7);
private int value;
private Day(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
μμ μ½λμμλ κ° μμΌμ λ§λ μ«μ κ°μ Day
μ΄κ±°ν λ©€λ²μ ν λΉνμμ΅λλ€. κ° ν λΉμ μν΄ μμ±μλ₯Ό μΆκ°νμμΌλ©°, value
λΌλ λ³μλ₯Ό μ¬μ©νμ¬ κ°μ μ μ₯νκ³ getValue()
λ©μλλ₯Ό ν΅ν΄ κ°μ λ°ννλλ‘ νμμ΅λλ€.
μ΄μ κ°μ ν λΉνμ¬ μ΄κ±°ν λ©€λ²μ μ κ·Όνλ €λ©΄ λ€μκ³Ό κ°μ΄ μ½λλ₯Ό μμ±ν μ μμ΅λλ€.
Day monday = Day.MONDAY;
System.out.println("MONDAYμ κ°μ " + monday.getValue() + "μ
λλ€.");
μμ μ½λλ₯Ό μ€ννλ©΄ "MONDAYμ κ°μ 1μ λλ€."λΌλ λ©μμ§κ° μΆλ ₯λ©λλ€. μ΄λ κ² κ°μ ν λΉνκ³ μ κ·Όνλ κ²μ ν΅ν΄ μ΄κ±°ν λ©€λ²μ μΆκ°μ μΈ μ 보λ₯Ό λΆμ¬ν μ μμΌλ©°, μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ λμΌ μ μμ΅λλ€.
μ 리νλ©΄, μ΄κ±°νμ μ μΈνκ³ κ°μ ν λΉνκΈ° μν΄μλ enum
ν€μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°νμ μ μΈνκ³ , λ©€λ²λ€μ μΌνλ‘ κ΅¬λΆνμ¬ λμ΄ν©λλ€. μ΄κ±°νμ λ©€λ²λ λλ¬Έμλ‘ μμ±νλ κ²μ΄ κ΄λ‘μ
λλ€. μ΄κ±°νμ λ©€λ²λ λ³μμ κ°μ ν λΉνλλ° μ¬μ©λ μ μμΌλ©°, μ΄κ±°ν λ©€λ²μ μΆκ°μ μΈ μ 보λ₯Ό λΆμ¬νκΈ° μν΄ κ°μ ν λΉνκ³ μ κ·Όνλ κ²λ κ°λ₯ν©λλ€. μ΄κ±°νμ μ¬μ©ν¨μΌλ‘μ¨ μ½λμ κ°λ
μ±κ³Ό μ μ§λ³΄μμ±μ λμΌ μ μμ΅λλ€.
- μ΄κ±°ν μ μΈ λ°©λ²
μ΄κ±°ν(enum)μ μΌλ ¨μ μμ κ°μ μ μνλ λ° μ¬μ©λλ©°, μΌλ°μ μΌλ‘ κ³ μ λ κ°λ€μ μ§ν©μ λνλ λλ€. μμΈν μ΄κ±°ν μ μΈ λ°©λ²μ λν΄ μ€λͺ λλ¦¬κ² μ΅λλ€.
μ΄κ±°νμ μ μΈνκΈ° μν΄μλ enum
ν€μλλ₯Ό μ¬μ©ν©λλ€. μλμ μμ λ₯Ό ν΅ν΄ μ΄κ±°νμ μ μΈ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
μμ μ½λμμ enum
ν€μλλ₯Ό μ¬μ©νμ¬ Day
λΌλ μ΄λ¦μ μ΄κ±°νμ μ μΈνμμ΅λλ€. μ΄κ±°ν λ©€λ²λ€μ κ°κ° MONDAY
, TUESDAY
, WEDNESDAY
, THURSDAY
, FRIDAY
, SATURDAY
, SUNDAY
μΌλ‘ μ μλμμ΅λλ€. μ΄λ¬ν λ©€λ²λ€μ μ΄κ±°νμ μμλ‘ μ¬μ©λ μ μμ΅λλ€.
μ΄κ±°νμ μνλ λ§νΌμ λ©€λ²λ₯Ό κ°μ§ μ μμΌλ©°, κ° λ©€λ²λ μΌνλ‘ κ΅¬λΆνμ¬ μ μΈν©λλ€. λ©€λ²μ μ΄λ¦μ κ΄λ‘μ μΌλ‘ λλ¬Έμλ‘ μμ±λλ©°, μ΄κ±°ν λ©€λ²μ μ΄λ¦μ νμ©νμ¬ κ°μ ν λΉνκ±°λ μ°Έμ‘°ν μ μμ΅λλ€.
μ΄κ±°νμ μ μΈνκΈ° μν΄ λ€λ₯Έ μμ λ₯Ό μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
enum Currency {
USD,
EUR,
GBP,
JPY
}
μμ μμ μμ Currency
λΌλ μ΄λ¦μ μ΄κ±°νμ μ μΈνμμ΅λλ€. μ΄κ±°ν λ©€λ²λ‘λ USD
, EUR
, GBP
, JPY
κ° μ μλμ΄ μμ΅λλ€. κ°κ°μ λ©€λ²λ ν΄λΉ ν΅νλ₯Ό λνλ΄λ μμλ‘ μ¬μ©λ μ μμ΅λλ€.
νΉμ κ°μ ν λΉνμ¬ μ΄κ±°ν λ©€λ²μ μ μ₯ν μλ μμ΅λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ μ΄κ±°νμ μ μΈν΄λ΄ μλ€.
enum Size {
SMALL("S"),
MEDIUM("M"),
LARGE("L"),
EXTRA_LARGE("XL");
private String abbreviation;
private Size(String abbreviation) {
this.abbreviation = abbreviation;
}
public String getAbbreviation() {
return abbreviation;
}
}
μμ μμμμ Size
λΌλ μ΄λ¦μ μ΄κ±°νμ μ μΈνμμ΅λλ€. κ° λ©€λ²(SMALL
, MEDIUM
, LARGE
, EXTRA_LARGE
)λ ν΄λΉ ν¬κΈ°μ μ·μ λνλ΄λ μμλ‘ μ¬μ©λ©λλ€. μΆκ°λ‘, abbreviation
μ΄λΌλ λ©€λ² λ³μλ₯Ό μ μΈνκ³ , μμ±μλ₯Ό ν΅ν΄ κ° λ©€λ²μ κ°μ ν λΉνμμ΅λλ€. μ΄κ±°ν λ©€λ²μ μΆκ°λ μ 보λ getAbbreviation()
λ©μλλ₯Ό ν΅ν΄ μ κ·Όν μ μμ΅λλ€.
μ 리νμλ©΄, μ΄κ±°νμ enum
ν€μλλ₯Ό μ¬μ©νμ¬ μ μΈν μ μμΌλ©°, μ΄κ±°ν λ©€λ²λ μΌνλ‘ κ΅¬λΆνμ¬ μ μΈν©λλ€. λ©€λ²μ μ΄λ¦μ κ΄λ‘μ μΌλ‘ λλ¬Έμλ‘ μμ±λλ©°, μ΄κ±°ν λ©€λ² μ΄λ¦μ μ¬μ©νμ¬ κ°μ ν λΉνκ±°λ μ°Έμ‘°ν μ μμ΅λλ€. μ΄κ±°ν λ©€λ²μλ νμμ λ°λΌ κ°μ ν λΉνμ¬ μΆκ° μ 보λ₯Ό μ μ₯ν μ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νλ©΄ κ³ μ λ κ°λ€μ μ§ν©μ λνλΌ μ μμΌλ©°, μ½λμ κ°λ
μ±κ³Ό μ μ§λ³΄μμ±μ ν₯μμν¬ μ μμ΅λλ€.
- κΈ°λ³Έ κ° ν λΉ
μ΄κ±°ν(enum)μ μ¬μ©ν λ, κ° λ©€λ²μ κΈ°λ³Έμ μΌλ‘ κ°μ ν λΉν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ° λ©€λ²μ νΉμ κ°μ λΆμ¬νκ±°λ, λ€μν μμ κ°μ μ§μ ν μ μμ΅λλ€. μλμμ κΈ°λ³Έ κ° ν λΉμ λ°©λ²κ³Ό νμ©μ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
μ΄κ±°ν λ©€λ²μ κΈ°λ³Έ κ°μ ν λΉνκΈ° μν΄μλ μμ±μλ₯Ό μ¬μ©ν©λλ€. μμ±μλ μ΄κ±°ν λ©€λ²μ μ΄κΈ°νμ κ΄λ ¨λ μμ μ μνν©λλ€. μλμ μ½λλ₯Ό ν΅ν΄ μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Size {
SMALL("S", 50),
MEDIUM("M", 55),
LARGE("L", 60),
EXTRA_LARGE("XL", 65);
private String abbreviation;
private int measurement;
private Size(String abbreviation, int measurement) {
this.abbreviation = abbreviation;
this.measurement = measurement;
}
public String getAbbreviation() {
return abbreviation;
}
public int getMeasurement() {
return measurement;
}
}
μμ μ½λμμ Size
λΌλ μ΄λ¦μ μ΄κ±°νμ μ μΈνμμ΅λλ€. κ° λ©€λ²(SMALL
, MEDIUM
, LARGE
, EXTRA_LARGE
)λ ν΄λΉνλ μ· ν¬κΈ°μ μΈ‘μ κ°μ λνλ΄λ μμλ‘ μ¬μ©λ©λλ€. μμ±μλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²μ κΈ°λ³Έ κ°μ ν λΉνμμΌλ©°, abbreviation
κ³Ό measurement
λ κ°μ λ©€λ² λ³μλ₯Ό μ¬μ©νμμ΅λλ€. μ΄κ±°ν λ©€λ²μ ν λΉλ κ°μ getAbbreviation()
λ° getMeasurement()
μ ν΅ν΄ μ κ·Όν μ μμ΅λλ€.
μ΄κ±°ν λ©€λ²μ ν λΉλ κΈ°λ³Έ κ°μ νμ©νμ¬ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
Size size = Size.SMALL;
System.out.println("ν¬κΈ°: " + size.getAbbreviation());
System.out.println("μΈ‘μ κ°: " + size.getMeasurement());
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
ν¬κΈ°: S
μΈ‘μ κ°: 50
μμ μμ μμλ Size.SMALL
μ λ³μμ ν λΉνκ³ , λ³μμ κ°μ μΆλ ₯νμμ΅λλ€. μ΄μ κ°μ΄ μ΄κ±°ν λ©€λ²μ ν λΉλ κΈ°λ³Έ κ°μ νμ©ν¨μΌλ‘μ¨, μ½λμ κ°λ
μ±μ ν₯μμν€κ³ μΆκ°μ μΈ μ 보λ₯Ό μ 곡ν μ μμ΅λλ€.
μ 리νλ©΄, μ΄κ±°ν λ©€λ²μ κΈ°λ³Έ κ° ν λΉμ μν΄ μμ±μλ₯Ό μ¬μ©ν©λλ€. μμ±μλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²μ μ΄κΈ° κ°μ μ€μ νκ³ , ν΄λΉ κ°μ μ κ·ΌνκΈ° μν΄ Getter λ©μλλ₯Ό νμ©ν©λλ€. μ΄κ±°ν λ©€λ²μ κΈ°λ³Έ κ°μ νμ©νλ©΄ μ½λμ κ°λ μ±μ λμΌ μ μμΌλ©°, λ©€λ²μ μΆκ°μ μΈ μ 보λ₯Ό λΆμ¬ν μ μμ΅λλ€.
- νΉμ κ° ν λΉ
μ΄κ±°ν(enum)μ κ° λ©€λ²μλ κΈ°λ³Έμ μΌλ‘ μλμΌλ‘ ν λΉλλ κ°μ΄ μμ΅λλ€. μ΄ κ°μ μ΄κ±°ν λ©€λ²μ μ μΈ μμμ λ°λΌ 0λΆν° μμνμ¬ 1μ© μ¦κ°νλ μ μμ λλ€. νμ§λ§ λλ‘λ κ°λ°μκ° μ§μ νΉμ κ°μ ν λΉνμ¬ μ¬μ©νκ³ μΆμ μ μμ΅λλ€. μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνκΈ° μν΄μλ κ° λ©€λ²μ μ΄λ¦ λ€μ κ°μ μ½λ‘ μΌλ‘ ꡬλΆνμ¬ μμ±ν©λλ€. μλμ μμλ₯Ό ν΅ν΄ νΉμ κ° ν λΉμ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Day {
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6),
SUNDAY(7);
private int value;
private Day(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
μμ μ½λμμ Day
λΌλ μ΄κ±°νμ μ μΈνμμ΅λλ€. κ° λ©€λ²(μ: MONDAY
, TUESDAY
, λ±)λ ν΄λΉνλ μμΌμ λνλ΄λ μμλ‘ μ¬μ©λ©λλ€. μμ±μλ₯Ό ν΅ν΄ κ° λ©€λ²μ νΉμ κ°μ ν λΉνμμΌλ©°, value
λΌλ λ©€λ² λ³μλ₯Ό μ¬μ©νμ¬ ν λΉλ κ°μ μ μ₯ν©λλ€. μ΄κ±°ν λ©€λ²μ ν λΉλ κ°μ getValue()
λ©μλλ₯Ό ν΅ν΄ μ κ·Όν μ μμ΅λλ€.
νΉμ κ°μ΄ ν λΉλ μ΄κ±°ν λ©€λ²λ₯Ό νμ©νμ¬ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
Day day = Day.WEDNESDAY;
System.out.println("μμΌ: " + day);
System.out.println("κ°: " + day.getValue());
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
μμΌ: WEDNESDAY
κ°: 3
μμ μμμμλ Day.WEDNESDAY
λ₯Ό λ³μμ ν λΉνκ³ , λ³μμ κ°μ μΆλ ₯νμμ΅λλ€. getValue()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²μ ν λΉλ νΉμ κ°μ μ»μ μ μμ΅λλ€.
μ 리νμλ©΄, μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνλ €λ©΄ λ©€λ² μ΄λ¦ λ€μ κ°μ μ½λ‘ μΌλ‘ ꡬλΆνμ¬ μμ±ν©λλ€. ν λΉλ κ°μ μ¬μ©νλ €λ©΄ μμ±μλ₯Ό μ¬μ©νμ¬ λ©€λ² λ³μμ μ μ₯νκ³ , Getter λ©μλλ₯Ό ν΅ν΄ κ°μ μ»μ μ μμ΅λλ€. μ΄κ±°ν λ©€λ²μ νΉμ κ°μ΄ ν λΉλλ©΄, κ°λ°μκ° μνλ κ°λ€μ μ§ν©μΌλ‘ μ΄κ±°νμ μ¬μ©ν μ μμ΅λλ€.
νΉμ κ° ν λΉ
μ΄κ±°ν(enum)μ μ¬μ©ν λ, κ° λ©€λ²μ κΈ°λ³Έμ μΈ κ°μ΄ μλμΌλ‘ ν λΉλ©λλ€. κΈ°λ³Έ κ°μ μ΄κ±°ν λ©€λ²μ μ μΈ μμμ λ°λΌ 0λΆν° μμνμ¬ 1μ© μ¦κ°νλ μ μμ λλ€. νμ§λ§ λλ‘λ κ°λ°μκ° μ§μ νΉμ κ°μ ν λΉνκ³ μΆμ κ²½μ°κ° μμ΅λλ€. μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνλ λ°©λ²μ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
μ΄κ±°ν λ©€λ²μ νΉμ κ° ν λΉνκΈ°
μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνκΈ° μν΄μλ κ° λ©€λ²μ μ΄λ¦ λ€μ κ°μ μ½λ‘ (:
)μΌλ‘ ꡬλΆνμ¬ μμ±ν©λλ€. μ΄λ κ² νλ©΄ ν΄λΉνλ λ©€λ²μ μνλ κ°μ ν λΉν μ μμ΅λλ€. μλμ μμλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνλ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Day {
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6),
SUNDAY(7);
private int value;
private Day(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
μμ μ½λμμ Day
λΌλ μ΄λ¦μ μ΄κ±°νμ μ μΈνμμ΅λλ€. κ° λ©€λ²(MONDAY
, TUESDAY
, λ±)λ ν΄λΉνλ μμΌμ μμλ‘ λνλ΄λ©°, μμ±μλ₯Ό μ¬μ©νμ¬ κ° λ©€λ²μ νΉμ κ°μ ν λΉνμμ΅λλ€. value
λΌλ λ©€λ² λ³μλ₯Ό μ¬μ©νμ¬ ν λΉλ κ°μ μ μ₯νκ³ , getValue()
λ©μλλ₯Ό ν΅ν΄ ν΄λΉ κ°μ μ»μ μ μμ΅λλ€.
ν λΉλ κ° νμ©νκΈ°
νΉμ κ°μ΄ ν λΉλ μ΄κ±°ν λ©€λ²λ₯Ό νμ©νμ¬ μ½λλ₯Ό μμ±ν μ μμ΅λλ€. μλμ μμλ₯Ό ν΅ν΄ ν λΉλ κ°μ νμ©νλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
Day day = Day.WEDNESDAY;
System.out.println("μμΌ: " + day);
System.out.println("κ°: " + day.getValue());
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
μμΌ: WEDNESDAY
κ°: 3
μμ μμμμλ Day.WEDNESDAY
λ₯Ό λ³μμ ν λΉνκ³ , λ³μμ κ°μ μΆλ ₯ν©λλ€. μ΄κ±°ν λ©€λ²μ νΉμ κ°μ΄ ν λΉλμ΄ μμΌλ―λ‘, getValue()
λ©μλλ₯Ό μ¬μ©νμ¬ ν΄λΉ κ°μ μ»μ μ μμ΅λλ€.
μ 리νλ©΄, μ΄κ±°ν λ©€λ²μ νΉμ κ°μ ν λΉνλ €λ©΄ λ©€λ² μ΄λ¦ λ€μ κ°μ μ½λ‘ (:
)μΌλ‘ ꡬλΆνμ¬ μμ±ν©λλ€. ν λΉλ κ°μ μ¬μ©νλ €λ©΄ μμ±μλ₯Ό μ¬μ©νμ¬ λ©€λ² λ³μμ μ μ₯νκ³ , Getter λ©μλλ₯Ό ν΅ν΄ κ°μ μ»μ μ μμ΅λλ€. μ΄κ±°ν λ©€λ²μ νΉμ κ°μ΄ ν λΉλλ©΄, μνλ κ°λ€μ μ§ν©μΌλ‘ μ΄κ±°νμ μ¬μ©ν μ μμ΅λλ€.
μ΄κ±°νμ λ©μλ
μ΄κ±°ν(enum)μ μ체μ μΈ λ©μλλ₯Ό κ°μ§ μ μμ΅λλ€. μ΄λ¬ν λ©μλλ μ΄κ±°ν λ©€λ²μ λν λμμ μ μνκ±°λ, μ΄κ±°ν λ©€λ²λ€ κ°μ λΉκ΅λ₯Ό μννλ λ° μ¬μ©λ μ μμ΅λλ€. μ΄κ±°ν λ©€λ²λ€ κ°μ λΉκ΅μλ name()
λ©μλμ ordinal()
λ©μλλ₯Ό νμ©ν μ μμ΅λλ€. μ΄κ±°ν λ©μλμ λν΄ λ μμΈν μμλ³΄κ² μ΅λλ€.
μ΄κ±°ν λ©€λ²μ μ΄λ¦κ³Ό μμ μ»κΈ°
μ΄κ±°ν λ©€λ²μ μ΄λ¦(name)μ name()
λ©μλλ₯Ό ν΅ν΄ μ»μ μ μμ΅λλ€. name()
λ©μλλ μ΄κ±°ν λ©€λ²μ μ΄λ¦μ λ¬Έμμ΄λ‘ λ°νν©λλ€. μ΄κ±°ν λ©€λ²μ μμ(ordinal)λ ordinal()
λ©μλλ₯Ό ν΅ν΄ μ»μ μ μμ΅λλ€. ordinal()
λ©μλλ μ΄κ±°ν λ©€λ²μ μμλ₯Ό μ μ κ°μΌλ‘ λ°νν©λλ€. μλμ μμλ₯Ό ν΅ν΄ name()
λ©μλμ ordinal()
λ©μλλ₯Ό μ¬μ©νλ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day day = Day.WEDNESDAY;
System.out.println("μμΌ: " + day.name());
System.out.println("μμ: " + day.ordinal());
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
μμΌ: WEDNESDAY
μμ: 2
μμ μμμμλ name()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²μ μ΄λ¦μ μ»κ³ , ordinal()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²μ μμλ₯Ό μ»μ΅λλ€.
μ΄κ±°ν λ©€λ²λ€μ λΉκ΅
μ΄κ±°ν λ©€λ²λ€ κ°μ λΉκ΅λ ==
μ°μ°μλ₯Ό μ¬μ©νμ¬ μνν©λλ€. ==
μ°μ°μλ μ΄κ±°ν λ©€λ²λ€μ΄ κ°μ κ°μ²΄μΈμ§λ₯Ό νμΈν©λλ€. μ΄κ±°ν λ©€λ²λΌλ¦¬ λΉκ΅ν λλ μ΄κ±°νμ νμ
μ λͺ
μμ μΌλ‘ νμΈνλ κ²μ΄ μ’μ΅λλ€. μλμ μμλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²λ€ κ°μ λΉκ΅ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Color {
RED,
BLUE,
GREEN
}
Color color1 = Color.RED;
Color color2 = Color.RED;
Color color3 = Color.BLUE;
System.out.println(color1 == color2); // true
System.out.println(color1 == color3); // false
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
true
false
μμ μμμμλ ==
μ°μ°μλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ€μ λΉκ΅ν©λλ€. κ°μ μ΄κ±°ν λ©€λ²μΈ color1
κ³Ό color2
λ κ°μ κ°μ²΄μ΄λ―λ‘ true
κ° μΆλ ₯λκ³ , color1
κ³Ό color3
μ μλ‘ λ€λ₯Έ κ°μ²΄μ΄λ―λ‘ false
κ° μΆλ ₯λ©λλ€.
μ 리νμλ©΄, μ΄κ±°νμ μ체μ μΈ λ©μλλ₯Ό κ°μ§ μ μμΌλ©°, μ΄κ±°ν λ©€λ²μ μ΄λ¦κ³Ό μμλ₯Ό μ»κΈ° μν΄μλ name()
λ©μλμ ordinal()
λ©μλλ₯Ό μ¬μ©ν©λλ€. μ΄κ±°ν λ©€λ²λ€ κ°μ λΉκ΅λ ==
μ°μ°μλ₯Ό μ¬μ©νμ¬ μνν μ μμ΅λλ€. μ΄κ±°νμ νμ
μ λͺ
μμ μΌλ‘ νμΈνλ κ²μ΄ μ’μ΅λλ€.
.values()
λ©μλ
μ΄κ±°ν(enum)μ .values()
λ©μλλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄μ μ»μ μ μμ΅λλ€. .values()
λ©μλλ μ΄κ±°νμ λͺ¨λ λ©€λ²λ€μ λ°°μ΄λ‘ λ°νν©λλ€. μ΄λ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²λ€μ λ°λ³΅λ¬Έμ μ¬μ©νμ¬ μννκ±°λ, λ°°μ΄μ μμλ€μ νμ©ν μ μμ΅λλ€. .values()
λ©μλλ₯Ό νμ©νλ λ°©λ²μ λν΄ λ μμΈν μμλ³΄κ² μ΅λλ€.
μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄ μ»κΈ°
μ΄κ±°νμ μν λͺ¨λ λ©€λ²λ€μ λ°°μ΄μ μ»μΌλ €λ©΄ .values()
λ©μλλ₯Ό μ¬μ©ν©λλ€. μλμ μμλ₯Ό ν΅ν΄ .values()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄μ μ»λ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day[] days = Day.values();
for (Day day : days) {
System.out.println(day);
}
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
μμ μμμμλ .values()
λ©μλλ₯Ό μ¬μ©νμ¬ Day
μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄μ μ»κ³ , λ°λ³΅λ¬Έμ μ¬μ©νμ¬ λ°°μ΄μ μμλ€μ μΆλ ₯ν©λλ€.
μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄ νμ©νκΈ°
μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄μ μ»μΌλ©΄ ν΄λΉ λ°°μ΄μ μμλ€μ νμ©ν μ μμ΅λλ€. λ°°μ΄μ μμλ€μ λ°λ³΅λ¬Έμ μ¬μ©νμ¬ μννκ±°λ, λ°°μ΄μ μΈλ±μ€λ₯Ό ν΅ν΄ νΉμ μμμ μ κ·Όν μ μμ΅λλ€. μλμ μμλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄μ νμ©νλ λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Color {
RED,
BLUE,
GREEN
}
Color[] colors = Color.values();
System.out.println("μμμ κ°μ: " + colors.length);
System.out.println("첫 λ²μ§Έ μμ: " + colors[0]);
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
μμμ κ°μ: 3
첫 λ²μ§Έ μμ: RED
μμ μμμμλ .values()
λ©μλλ₯Ό μ¬μ©νμ¬ Color
μ΄κ±°ν λ©€λ²λ€μ λ°°μ΄μ μ»κ³ , λ°°μ΄μ κΈΈμ΄λ₯Ό μΆλ ₯ν©λλ€. λν, λ°°μ΄μ 첫 λ²μ§Έ μμμ μ κ·Όνμ¬ μΆλ ₯ν©λλ€.
μ 리νμλ©΄, .values()
λ©μλλ μ΄κ±°νμ λͺ¨λ λ©€λ²λ€μ λ°°μ΄λ‘ λ°ννλ μν μ ν©λλ€. λ°°μ΄μ μ»μΌλ©΄ λ°λ³΅λ¬Έμ μ¬μ©νμ¬ λ©€λ²λ€μ μννκ±°λ, λ°°μ΄μ μΈλ±μ€λ₯Ό ν΅ν΄ νΉμ μμμ μ κ·Όν μ μμ΅λλ€. .values()
λ©μλλ₯Ό νμ©νμ¬ μ΄κ±°ν λ©€λ²λ€μ λ€λ£° μ μμ΅λλ€.
.valueOf()
λ©μλ
μ΄κ±°ν(enum)μ .valueOf()
λ©μλλ₯Ό ν΅ν΄ μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό μΌμΉνλ μ΄κ±°ν λ©€λ²λ₯Ό μ»μ μ μμ΅λλ€. .valueOf()
λ©μλλ μ΄κ±°ν λ©€λ²μ μ΄λ¦κ³Ό μ£Όμ΄μ§ λ¬Έμμ΄μ λΉκ΅νμ¬ μΌμΉνλ λ©€λ²λ₯Ό λ°νν©λλ€. μ΄λ₯Ό ν΅ν΄ λ¬Έμμ΄μ μ΄κ±°ν λ©€λ²λ‘ λ³νν μ μμ΅λλ€. .valueOf()
λ©μλλ₯Ό νμ©νλ λ°©λ²μ λν΄ λ μμΈν μμλ³΄κ² μ΅λλ€.
μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό μΌμΉνλ μ΄κ±°ν λ©€λ² μ»κΈ°
μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό μΌμΉνλ μ΄κ±°ν λ©€λ²λ₯Ό μ»μΌλ €λ©΄ .valueOf()
λ©μλλ₯Ό μ¬μ©ν©λλ€. μλμ μμλ₯Ό ν΅ν΄ .valueOf()
λ©μλλ₯Ό μ¬μ©νμ¬ μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό μΌμΉνλ μ΄κ±°ν λ©€λ²λ₯Ό μ»λ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day day = Day.valueOf("WEDNESDAY");
System.out.println("μμΌ: " + day);
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
μμΌ: WEDNESDAY
μμ μμμμλ .valueOf()
λ©μλλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄ "WEDNESDAY"μ μΌμΉνλ Day
μ΄κ±°ν λ©€λ²λ₯Ό μ»μ΅λλ€. λ°νλ λ©€λ²μΈ day
λ₯Ό μΆλ ₯νλ©΄ ν΄λΉ λ©€λ²μ μ΄λ¦μ΄ μΆλ ₯λ©λλ€.
μ°Έκ³ : μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό μΌμΉνλ μ΄κ±°ν λ©€λ²κ° μμ κ²½μ°
IllegalArgumentException
μ΄ λ°μν©λλ€.
.valueOf()
λ©μλμ λμλ¬Έμ ꡬλΆ
.valueOf()
λ©μλλ₯Ό μ¬μ©ν λμλ μ£Όμ΄μ§ λ¬Έμμ΄μ λμλ¬Έμλ₯Ό μ격νκ² κ΅¬λΆν΄μΌ ν©λλ€. μ΄κ±°ν λ©€λ²μ μ΄λ¦κ³Ό μ£Όμ΄μ§ λ¬Έμμ΄μ λμλ¬Έμκ° μ νν μΌμΉν΄μΌ μΌμΉνλ λ©€λ²λ₯Ό λ°νν©λλ€. μλμ μμλ₯Ό ν΅ν΄ λμλ¬Έμ ꡬλΆμ λ°λ₯Έ .valueOf()
λ©μλμ λμμ μ΄ν΄λ³΄κ² μ΅λλ€.
enum Color {
RED,
BLUE,
GREEN
}
Color color = Color.valueOf("RED");
System.out.println("μμ: " + color);
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
μμ: RED
μμ μμμμλ .valueOf()
λ©μλμ λμλ¬Έμκ° μΌμΉνλ λ¬Έμμ΄ "RED"λ₯Ό μ λ¬νμκΈ° λλ¬Έμ λμλ¬Έμ ꡬλΆμ μκ΄μμ΄ λ©€λ²λ₯Ό μ¬λ°λ₯΄κ² λ°νν©λλ€.
Color color = Color.valueOf("red");
μμ μ½λλ₯Ό μ€ννλ©΄ IllegalArgumentException
μ΄ λ°μν©λλ€. μ΄λ μ£Όμ΄μ§ λ¬Έμμ΄ "red"μ μ΄κ±°ν λ©€λ²μ μ΄λ¦ "RED"κ° λμλ¬Έμκ° μΌμΉνμ§ μκΈ° λλ¬Έμ
λλ€.
μ 리νμλ©΄, .valueOf()
λ©μλλ₯Ό μ¬μ©νμ¬ μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό μΌμΉνλ μ΄κ±°ν λ©€λ²λ₯Ό μ»μ μ μμ΅λλ€. λμλ¬Έμλ₯Ό ꡬλΆνμ¬ μ ννκ² μΌμΉν΄μΌ λ©€λ²λ₯Ό λ°ννλ©°, μΌμΉνλ λ©€λ²κ° μμ κ²½μ° IllegalArgumentException
μ΄ λ°μν©λλ€. .valueOf()
λ©μλλ₯Ό νμ©νμ¬ λ¬Έμμ΄μ μ΄κ±°ν λ©€λ²λ‘ λ³νν μ μμ΅λλ€.
.values()
λ©μλ
The .values()
method allows you to obtain an array of all the members of an enumeration (enum). It returns an array containing all the members of the enumeration. This allows you to iterate over the members using a loop or utilize the elements of the array. Let's take a closer look at how to use the .values()
method.
Obtaining an Array of Enumeration Members
To obtain an array of all the members of an enumeration, you can use the .values()
method. Let's see an example of how to use the .values()
method to get an array of enumeration members.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day[] days = Day.values();
for (Day day : days) {
System.out.println(day);
}
When you run the above code, the following output will be displayed:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
In the example above, the .values()
method is used to obtain an array of members from the Day
enumeration. The elements of the array are then printed using a loop.
Utilizing the Array of Enumeration Members
Once you have obtained the array of enumeration members, you can utilize the elements of the array. You can iterate over the members using a loop or access specific elements using array indexing. Let's take a look at how to utilize the array of enumeration members.
enum Color {
RED,
BLUE,
GREEN
}
Color[] colors = Color.values();
System.out.println("Number of colors: " + colors.length);
System.out.println("First color: " + colors[0]);
When you run the above code, the following output will be displayed:
Number of colors: 3
First color: RED
In the example above, the .values()
method is used to obtain an array of members from the Color
enumeration. The length of the array is printed by accessing the length
property of the array. The first element of the array is accessed using array indexing and then printed.
In summary, the .values()
method returns an array containing all the members of an enumeration. Once you have the array, you can iterate over the members using a loop or access specific elements using array indexing. The .values()
method allows you to work with the members of an enumeration.
4. μ΄κ±°ν λΉκ΅νκΈ°
μ΄κ±°ν(enum)μ λΉκ΅ μ°μ°μ(==
λλ !=
)λ₯Ό μ¬μ©νμ¬ μλ‘ λΉκ΅ν μ μμ΅λλ€. μ΄κ±°ν λ©€λ²λΌλ¦¬μ λΉκ΅λ κ°λ¨νκ² μνλλ©°, μ΄κ±°ν λ©€λ² κ°μ μμ λλ μ΄λ¦μ λΉκ΅ν μ μμ΅λλ€. μ΄λ² μΉμ
μμλ μ΄κ±°ν κ°μ λΉκ΅μ λν΄ λ μμΈν μμλ³΄κ² μ΅λλ€.
Enum λ©€λ² λΉκ΅νκΈ°
μ΄κ±°ν λ©€λ²λ₯Ό λΉκ΅νκΈ° μν΄μλ λΉκ΅ μ°μ°μ(==
λλ !=
)λ₯Ό μ¬μ©ν©λλ€. μ΄κ±°νμ λ©€λ²λ€μ κ°κ° κ³ μ ν κ°μ²΄λ‘ μ·¨κΈλκΈ° λλ¬Έμ, μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό λΉκ΅ν λλ νμ !=
λ₯Ό μ¬μ©νμ¬ λΉκ΅ν΄μΌ ν©λλ€. μ΄κ±°ν λ©€λ²λ€μ λμΌν κ°μ²΄μ΄λ©΄ ==
μ°μ°μλ‘ λΉκ΅ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ² κ°μ λΉκ΅λ₯Ό μνν μ μμ΅λλ€. μλμ μμλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ² λΉκ΅μ λν΄ μμλ³΄κ² μ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Day day1 = Day.MONDAY;
Day day2 = Day.MONDAY;
Day day3 = Day.TUESDAY;
Day day4 = Day.WEDNESDAY;
System.out.println(day1 == day2); // true
System.out.println(day1 == day3); // false
System.out.println(day1 != day4); // true
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
true
false
true
μμ μμμμλ Day
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€. day1
κ³Ό day2
λ λμΌν Day.MONDAY
λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ ==
μ°μ°μμ κ²°κ³Όλ true
κ° λ©λλ€. day1
κ³Ό day3
μ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ ==
μ°μ°μμ κ²°κ³Όλ false
κ° λ©λλ€. day1
κ³Ό day4
λ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ !=
μ°μ°μμ κ²°κ³Όλ true
κ° λ©λλ€.
Enum λ©€λ² μμ λΉκ΅νκΈ°
μ΄κ±°ν λ©€λ²λ μλμΌλ‘ μ μλ μμλ₯Ό κ°μ΅λλ€. μ΄κ±°ν λ©€λ²μ μμλ λ©€λ²λ₯Ό μ μν μμμ λμΌν©λλ€. μ΄λ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²λ€μ μμλ‘ λΉκ΅ν μ μμ΅λλ€. μ΄κ±°ν λ©€λ²μ μμ λΉκ΅λ .compareTo()
λ©μλλ₯Ό μ¬μ©νμ¬ μνν μ μμ΅λλ€. .compareTo()
λ©μλλ λΉκ΅ λμ λ©€λ²λ³΄λ€ μ΄μ μΈ κ²½μ° μμ, κ°μ λ©€λ²μΈ κ²½μ° 0, μ΄νμΈ κ²½μ° μμλ₯Ό λ°νν©λλ€. μλμ μμλ₯Ό ν΅ν΄ μ΄κ±°ν λ©€λ²μ μμ λΉκ΅μ λν΄ μμλ³΄κ² μ΅λλ€.
enum Size {
SMALL,
MEDIUM,
LARGE
}
Size size1 = Size.SMALL;
Size size2 = Size.MEDIUM;
Size size3 = Size.LARGE;
System.out.println(size1.compareTo(size2)); // -1
System.out.println(size2.compareTo(size2)); // 0
System.out.println(size3.compareTo(size1)); // 1
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
-1
0
1
μμ μμμμλ Size
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€. size1
μ Size.SMALL
λ©€λ²μ΄κ³ , size2
λ Size.MEDIUM
λ©€λ²μ
λλ€. .compareTo()
λ©μλλ₯Ό μ¬μ©νμ¬ size1
μ size2
μ λΉκ΅νλ©΄ -1
μ΄ λ°νλ©λλ€. μ΄λ size1
μ΄ size2
λ³΄λ€ μ΄μ μΈ μμμ μκΈ° λλ¬Έμ
λλ€. .compareTo()
λ©μλλ₯Ό μ¬μ©νμ¬ λ©€λ²λ₯Ό λμΌν λ©€λ²μ λΉκ΅νλ©΄ 0
μ΄ λ°νλ©λλ€. size3
μ size1
κ³Ό λΉκ΅νλ©΄ 1
μ΄ λ°νλ©λλ€. μ΄λ size3
μ΄ size1
λ³΄λ€ μ΄νμΈ μμμ μκΈ° λλ¬Έμ
λλ€.
μ 리νμλ©΄, μ΄κ±°ν λ©€λ²λ₯Ό λΉκ΅νκΈ° μν΄ λΉκ΅ μ°μ°μ(==
λλ !=
)λ₯Ό μ¬μ©ν©λλ€. μ΄κ±°ν λ©€λ²λ€μ κ°μ²΄λ‘ μ·¨κΈλκΈ° λλ¬Έμ, μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό λΉκ΅ν λλ !=
λ₯Ό μ¬μ©νμ¬ λΉκ΅ν΄μΌ ν©λλ€. λν, μ΄κ±°ν λ©€λ²λ€μ μμλ‘ λΉκ΅ν μ μμΌλ©°, μμ λΉκ΅λ₯Ό μν΄μλ .compareTo()
λ©μλλ₯Ό μ¬μ©ν©λλ€. .compareTo()
λ©μλλ λΉκ΅ λμ λ©€λ²μμ μμ λΉκ΅λ₯Ό μνν©λλ€.
- == μ°μ°μλ₯Ό μ΄μ©ν λΉκ΅
μ°μ°μ ==
λ μ΄κ±°ν(enum) λ©€λ²λ€μ λΉκ΅νλ λ° μ¬μ©λ μ μμ΅λλ€. μ΄κ±°ν λ©€λ²λ€μ κ°κ° κ³ μ ν κ°μ²΄λ‘ μ·¨κΈλκΈ° λλ¬Έμ, λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ°μλ§ ==
μ°μ°μλ₯Ό μ¬μ©νμ¬ λΉκ΅ν μ μμ΅λλ€. μ΄λ² μΉμ
μμλ ==
μ°μ°μλ₯Ό μ΄μ©ν μ΄κ±°ν λ©€λ² λΉκ΅μ λν΄ μλμ μμΈν μμλ³΄κ² μ΅λλ€.
λμΌν λ©€λ² λΉκ΅νκΈ°
==
μ°μ°μλ₯Ό μ¬μ©νμ¬ λμΌν λ©€λ²μΈμ§λ₯Ό λΉκ΅ν μ μμ΅λλ€. λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° ==
μ°μ°μμ κ²°κ³Όλ true
κ° λ©λλ€. μλμ μμλ₯Ό ν΅ν΄ λμΌν λ©€λ² λΉκ΅λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Coin {
PENNY,
NICKEL,
DIME,
QUARTER
}
Coin coin1 = Coin.NICKEL;
Coin coin2 = Coin.NICKEL;
System.out.println(coin1 == coin2); // true
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
true
μμ μμμμλ Coin
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€. coin1
κ³Ό coin2
λ λͺ¨λ Coin.NICKEL
λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ ==
μ°μ°μμ κ²°κ³Όλ true
κ° λ©λλ€.
μλ‘ λ€λ₯Έ λ©€λ² λΉκ΅νκΈ°
==
μ°μ°μλ₯Ό μ¬μ©νμ¬ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό λΉκ΅ν μ μμ΅λλ€. μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° ==
μ°μ°μμ κ²°κ³Όλ false
κ° λ©λλ€. μλμ μμλ₯Ό ν΅ν΄ μλ‘ λ€λ₯Έ λ©€λ² λΉκ΅λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Month {
JANUARY,
FEBRUARY,
MARCH,
APRIL
}
Month month1 = Month.JANUARY;
Month month2 = Month.MARCH;
System.out.println(month1 == month2); // false
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
false
μμ μμμμλ Month
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€. month1
μ Month.JANUARY
λ©€λ²λ₯Ό μ°Έμ‘°νκ³ , month2
λ Month.MARCH
λ©€λ²λ₯Ό μ°Έμ‘°ν©λλ€. λ°λΌμ month1
κ³Ό month2
λ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ ==
μ°μ°μμ κ²°κ³Όλ false
κ° λ©λλ€.
μμ½νμλ©΄, ==
μ°μ°μλ₯Ό μ΄μ©νμ¬ μ΄κ±°ν λ©€λ²λ€μ λΉκ΅ν μ μμ΅λλ€. λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° ==
μ°μ°μμ κ²°κ³Όλ true
κ° λκ³ , μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° ==
μ°μ°μμ κ²°κ³Όλ false
κ° λ©λλ€. ==
μ°μ°μλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ₯Ό λΉκ΅νλ κ²μ μ΄κ±°νμ νΉμ±μ μ μ΄ν΄νκ³ λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλμ§λ₯Ό νμΈνλ λ° λμμ΄ λ©λλ€.
- .equals() λ©μλλ₯Ό μ΄μ©ν λΉκ΅
μ΄κ±°ν(enum) λ©€λ²λ€μ .equals()
λ©μλλ₯Ό μ¬μ©νμ¬ λΉκ΅ν μ μμ΅λλ€. .equals()
λ©μλλ λ κ°μ κ°μ²΄λ₯Ό λΉκ΅νμ¬ λμΌν κ°μ²΄μΈμ§λ₯Ό νμΈνλ λ° μ¬μ©λ©λλ€. μ΄κ±°ν λ©€λ²λ€λ κ°μ²΄λ‘ μ·¨κΈλκΈ° λλ¬Έμ, λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ true
κ° λ©λλ€. μ΄λ² μΉμ
μμλ .equals()
λ©μλλ₯Ό μ΄μ©ν μ΄κ±°ν λ©€λ² λΉκ΅μ λν΄ μλμ μμΈν μμλ³΄κ² μ΅λλ€.
λμΌν λ©€λ² λΉκ΅νκΈ°
.equals()
λ©μλλ₯Ό μ¬μ©νμ¬ λμΌν λ©€λ²μΈμ§λ₯Ό λΉκ΅ν μ μμ΅λλ€. λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ true
κ° λ©λλ€. μλμ μμλ₯Ό ν΅ν΄ λμΌν λ©€λ² λΉκ΅λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Color {
RED,
GREEN,
BLUE
}
Color color1 = Color.RED;
Color color2 = Color.RED;
System.out.println(color1.equals(color2)); // true
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
true
μμ μμμμλ Color
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€. color1
κ³Ό color2
λ λͺ¨λ Color.RED
λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ .equals()
λ©μλμ κ²°κ³Όλ true
κ° λ©λλ€.
μλ‘ λ€λ₯Έ λ©€λ² λΉκ΅νκΈ°
.equals()
λ©μλλ₯Ό μ¬μ©νμ¬ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό λΉκ΅ν μ μμ΅λλ€. μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ false
κ° λ©λλ€. μλμ μμλ₯Ό ν΅ν΄ μλ‘ λ€λ₯Έ λ©€λ² λΉκ΅λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Direction {
UP,
DOWN,
LEFT,
RIGHT
}
Direction direction1 = Direction.UP;
Direction direction2 = Direction.RIGHT;
System.out.println(direction1.equals(direction2)); // false
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
false
μμ μμμμλ Direction
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€. direction1
μ Direction.UP
λ©€λ²λ₯Ό μ°Έμ‘°νκ³ , direction2
λ Direction.RIGHT
λ©€λ²λ₯Ό μ°Έμ‘°ν©λλ€. λ°λΌμ direction1
κ³Ό direction2
λ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ .equals()
λ©μλμ κ²°κ³Όλ false
κ° λ©λλ€.
μμ½νμλ©΄, .equals()
λ©μλλ₯Ό μ΄μ©νμ¬ μ΄κ±°ν λ©€λ²λ€μ λΉκ΅ν μ μμ΅λλ€. λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ true
κ° λκ³ , μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ false
κ° λ©λλ€. .equals()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ₯Ό λΉκ΅νλ κ²μ μ΄κ±°νμ νΉμ±μ μ μ΄ν΄νκ³ λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλμ§λ₯Ό νμΈνλ λ° λμμ΄ λ©λλ€.
- .equals() λ©μλλ₯Ό μ΄μ©ν λΉκ΅
μ΄κ±°ν(enum) λ©€λ²λ€μ .equals()
λ©μλλ₯Ό μ¬μ©νμ¬ λΉκ΅ν μ μμ΅λλ€.
.equals()
λ©μλλ λ κ°μ κ°μ²΄λ₯Ό λΉκ΅νμ¬ λμΌν κ°μ²΄μΈμ§λ₯Ό νμΈνλ λ° μ¬μ©λ©λλ€.
μ΄κ±°ν λ©€λ²λ€λ κ°μ²΄λ‘ μ·¨κΈλκΈ° λλ¬Έμ, λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ true
κ° λ©λλ€.
μ΄λ² μΉμ
μμλ .equals()
λ©μλλ₯Ό μ΄μ©ν μ΄κ±°ν λ©€λ² λΉκ΅μ λν΄ μμΈν μμλ³΄κ² μ΅λλ€.
λμΌν λ©€λ² λΉκ΅νκΈ°
.equals()
λ©μλλ₯Ό μ¬μ©νμ¬ λμΌν λ©€λ²μΈμ§λ₯Ό λΉκ΅ν μ μμ΅λλ€.
λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ true
κ° λ©λλ€.
μλμ μμλ₯Ό ν΅ν΄ λμΌν λ©€λ² λΉκ΅λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Color {
RED,
GREEN,
BLUE
}
Color color1 = Color.RED;
Color color2 = Color.RED;
System.out.println(color1.equals(color2)); // true
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
true
μμ μμμμλ Color
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€.
color1
κ³Ό color2
λ λͺ¨λ Color.RED
λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ .equals()
λ©μλμ κ²°κ³Όλ true
κ° λ©λλ€.
μλ‘ λ€λ₯Έ λ©€λ² λΉκ΅νκΈ°
.equals()
λ©μλλ₯Ό μ¬μ©νμ¬ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό λΉκ΅ν μ μμ΅λλ€.
μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ false
κ° λ©λλ€.
μλμ μμλ₯Ό ν΅ν΄ μλ‘ λ€λ₯Έ λ©€λ² λΉκ΅λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
enum Direction {
UP,
DOWN,
LEFT,
RIGHT
}
Direction direction1 = Direction.UP;
Direction direction2 = Direction.RIGHT;
System.out.println(direction1.equals(direction2)); // false
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
false
μμ μμμμλ Direction
μ΄κ±°νμ λ©€λ²λ€μ μμ±νμ¬ λΉκ΅ν©λλ€.
direction1
μ Direction.UP
λ©€λ²λ₯Ό μ°Έμ‘°νκ³ , direction2
λ Direction.RIGHT
λ©€λ²λ₯Ό μ°Έμ‘°ν©λλ€.
λ°λΌμ direction1
κ³Ό direction2
λ μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ―λ‘ .equals()
λ©μλμ κ²°κ³Όλ false
κ° λ©λλ€.
μμ½νμλ©΄, .equals()
λ©μλλ₯Ό μ΄μ©νμ¬ μ΄κ±°ν λ©€λ²λ€μ λΉκ΅ν μ μμ΅λλ€.
λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ true
κ° λκ³ , μλ‘ λ€λ₯Έ λ©€λ²λ₯Ό μ°Έμ‘°νλ κ²½μ° .equals()
λ©μλμ κ²°κ³Όλ false
κ° λ©λλ€.
.equals()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ₯Ό λΉκ΅νλ κ²μ μ΄κ±°νμ νΉμ±μ μ μ΄ν΄νκ³ λμΌν λ©€λ²λ₯Ό μ°Έμ‘°νλμ§λ₯Ό νμΈνλ λ° λμμ΄ λ©λλ€.
5. μ΄κ±°νμ νμ© μμ
μ΄κ±°ν(enum)μ μ½λλ₯Ό κΉλνκ³ μ½κΈ° μ½κ² λ§λ€μ΄μ£Όλ κ°λ ₯ν λꡬμ λλ€. μ΄κ±°νμ νμ©νλ©΄ μ½λμ κ°λ μ±μ λμ΄κ³ , μ€λ₯λ₯Ό μλ°©νλ©°, μ μ§λ³΄μλ₯Ό μ©μ΄νκ² ν μ μμ΅λλ€. μ΄λ² μΉμ μμλ μ΄κ±°νμ νμ© μμ μ λν΄ μμΈν μμ보λλ‘ νκ² μ΅λλ€.
λ¬Έμ μκ°
λ€μκ³Ό κ°μ μν©μ μμ ν΄λ³΄κ² μ΅λλ€. μ΄λ€ νλ‘κ·Έλ¨μμλ μ¬μ©μκ° μλ‘ λ€λ₯Έ ννμ ν¨ν΄μ μ νν΄μΌ ν©λλ€. ν¨ν΄μ "A", "B", "C" μ€ νλμΌ μ μμ΅λλ€. μ΄λ, ν¨ν΄μ λνλ΄λ λ³μλ₯Ό μ΄λ»κ² μ μΈνκ³ κ΄λ¦¬νλ κ²μ΄ μ’μκΉμ?
μ΄κ±°ν μ¬μ© μ
μ΄κ±°νμ μ¬μ©νκΈ° μ μλ ν¨ν΄μ λ¬Έμμ΄λ‘ νννκ³ , λΉκ΅μμλ λ¬Έμμ΄μ μ΄μ©ν΄ λΉκ΅ν΄μΌ ν©λλ€. μ΄λ΄ κ²½μ°, μ€νκ° λ°μνκ±°λ μλͺ»λ λ¬Έμμ΄μ λΉκ΅νλ €κ³ ν λ μ€λ₯κ° λ°μν μ μμ΅λλ€.
String pattern = "A";
// ν¨ν΄ λΉκ΅
if (pattern.equals("A")) {
// A ν¨ν΄ μ²λ¦¬
} else if (pattern.equals("B")) {
// B ν¨ν΄ μ²λ¦¬
} else if (pattern.equals("C")) {
// C ν¨ν΄ μ²λ¦¬
} else {
// μλͺ»λ ν¨ν΄ μ²λ¦¬
}
μ΄κ±°ν μ¬μ© ν
μ΄κ±°νμ μ¬μ©νλ©΄ μμ κ°μ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νμ¬ ν¨ν΄μ νννλ©΄, μ€νλ μλͺ»λ ν¨ν΄μ μ¬μ©νλ μ€λ₯λ₯Ό λ°©μ§ν μ μμ΅λλ€.
enum Pattern {
A,
B,
C
}
Pattern pattern = Pattern.A;
// ν¨ν΄ λΉκ΅
if (pattern == Pattern.A) {
// A ν¨ν΄ μ²λ¦¬
} else if (pattern == Pattern.B) {
// B ν¨ν΄ μ²λ¦¬
} else if (pattern == Pattern.C) {
// C ν¨ν΄ μ²λ¦¬
} else {
// μλͺ»λ ν¨ν΄ μ²λ¦¬
}
μ΄κ±°νμ μ¬μ©νλ©΄ ν¨ν΄μ μ’ λ λͺ
ννκ³ μμ νκ² κ΄λ¦¬ν μ μμ΅λλ€. ν¨ν΄μ λνλ΄λ λ³μλ Pattern
νμ
μΌλ‘ μ μΈνκ³ , κ°λ₯ν κ°μ Pattern.A
, Pattern.B
, Pattern.C
μ κ°μ΄ μ΄κ±°νμ λ©€λ² μ€ νλλ‘ μ νλ©λλ€. μ΄λ κ² λλ©΄ μ€νκ° λ°μνκ±°λ μλͺ»λ ν¨ν΄μ λΉκ΅νλ μν©μ μ¬μ μ λ°©μ§ν μ μμ΅λλ€.
μμ μμμμ λ³Ό μ μλ―μ΄, μ΄κ±°νμ μμκ°λ€μ μ§ν©μ λνλ΄λ κ²κ³Ό λμμ μ μ©νκ² νμ©λ μ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νλ©΄ νλ‘κ·Έλ¨μ κ°λ μ±μ λμΌ μ μκ³ , μ€λ₯λ₯Ό μλ°©νλ©°, μ μ§λ³΄μλ₯Ό μ½κ² ν μ μμ΅λλ€. μ΄κ±°νμ μ μ ν νμ©νμ¬ μ½λλ₯Ό μμ±νλ©΄ λ³΄λ€ κΉλνκ³ ν¨μ¨μ μΈ νλ‘κ·Έλλ°μ ν μ μμ΅λλ€.
- μμΌ λνλ΄κΈ°
μμΌμ λνλ΄λ νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€κ³ κ°μ ν΄λ΄ μλ€. μμΌμ μ£Όμ΄μ§ μΌμμ λ°λΌ νμ λ³νλ©°, μ½λμμ μ«μλ‘ ννλλ κ²μ κ°λ μ±μ λ¨μ΄λ¨λ¦΄ μ μμ΅λλ€. μ΄λ° κ²½μ°, μ΄κ±°ν(enum)μ μ¬μ©νμ¬ μμΌμ νννλ©΄ μ½λλ₯Ό λμ± λͺ ννκ³ κ°λ μ±μ΄ μ’κ² λ§λ€ μ μμ΅λλ€. μ΄λ² μΉμ μμλ μμΌμ λνλ΄λ μ΄κ±°νμ λ§λ€κ³ νμ©νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
μ΄κ±°νμΌλ‘ μμΌ νννκΈ°
μΌμ£ΌμΌμ μ΄ 7μΌλ‘ ꡬμ±λμ΄ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νμ¬ μμΌμ ννν μ μμ΅λλ€. μλ₯Ό λ€μ΄, Day
λΌλ μ΄κ±°νμ μμ±νκ³ κ° μμΌμ λ©€λ²λ‘ μΆκ°ν μ μμ΅λλ€.
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
μμ μ½λλ₯Ό 보면 Day
λΌλ μ΄κ±°νμ μμ±νκ³ , MONDAY
, TUESDAY
, ... , SUNDAY
λΌλ λ©€λ²λ€μ μΆκ°ν κ²μ λ³Ό μ μμ΅λλ€. κ° λ©€λ²λ ν΄λΉνλ μμΌμ λνλ
λλ€.
μμΌ μ¬μ©νκΈ°
μ΄κ±°νμΌλ‘ μμΌμ νννλ€λ©΄, μ΄λ₯Ό νμ©νμ¬ μμΌμ λ€λ£¨λ μ½λλ₯Ό μμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ€λμ μμΌμ νμΈνκ³ ν΄λΉνλ μμ μ μννλ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
import java.time.DayOfWeek;
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now();
DayOfWeek today = currentDate.getDayOfWeek();
switch (today) {
case MONDAY:
System.out.println("μ€λμ μμμΌμ
λλ€.");
break;
case TUESDAY:
System.out.println("μ€λμ νμμΌμ
λλ€.");
break;
case WEDNESDAY:
System.out.println("μ€λμ μμμΌμ
λλ€.");
break;
case THURSDAY:
System.out.println("μ€λμ λͺ©μμΌμ
λλ€.");
break;
case FRIDAY:
System.out.println("μ€λμ κΈμμΌμ
λλ€.");
break;
case SATURDAY:
System.out.println("μ€λμ ν μμΌμ
λλ€.");
break;
case SUNDAY:
System.out.println("μ€λμ μΌμμΌμ
λλ€.");
break;
default:
System.out.println("μ€λ₯: μλͺ»λ μμΌμ
λλ€.");
break;
}
}
}
μμ μ½λλ νμ¬ λ μ§λ₯Ό νμΈνμ¬ μ€λμ μμΌμ μμλ΄κ³ , switch
λ¬Έμ μ¬μ©νμ¬ κ°κ°μ μμΌμ λ°λΌ λ€λ₯Έ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ
λλ€. switch
λ¬Έμμλ today
λ³μμ κ°μ λ°λΌ κ°κ°μ caseμ ν΄λΉνλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
μμ½νμλ©΄, μ΄κ±°νμ μ¬μ©νμ¬ μμΌμ ννν μ μμ΅λλ€. μ΄κ±°νμ κ°κ°μ μμΌμ λͺ ννκ³ κ°κ²°νκ² ννν μ μμ΄ κ°λ μ±μ λμ¬μ€λλ€. μμΌμ μ΄κ±°νμΌλ‘ νννλ©΄ μ½λλ₯Ό μμ±ν λ μ€λ₯λ₯Ό λ°©μ§νκ³ , μ μ§λ³΄μλ₯Ό μ½κ² ν μ μμ΅λλ€. μμΌμ λ€λ£¨λ νλ‘κ·Έλ¨μ μμ±ν λλ μ΄κ±°νμ νμ©ν΄λ³΄μΈμ.
- κ³μ λνλ΄κΈ°
κ³μ μ λνλ΄λ νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€κ³ κ°μ ν΄λ΄ μλ€. κ³μ μ νΉμ ν μΌμμ λ°λΌ λ³νλ©°, μ½λμμ λ¬Έμμ΄λ‘ νννλ©΄ κ°λ μ±μ λ¨μ΄λ¨λ¦΄ μ μμ΅λλ€. μ΄λ° κ²½μ°, μ΄κ±°ν(enum)μ μ¬μ©νμ¬ κ³μ μ νννλ©΄ μ½λλ₯Ό λμ± λͺ ννκ³ κ°λ μ±μ΄ μ’κ² λ§λ€ μ μμ΅λλ€. μ΄λ² μΉμ μμλ κ³μ μ λνλ΄λ μ΄κ±°νμ λ§λ€κ³ νμ©νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
μ΄κ±°νμΌλ‘ κ³μ νννκΈ°
μ°λ¦¬λ μΌλ
λμ λ€ κ°μ§ κ³μ μ κ²½νν©λλ€. μ΄κ±°νμ μ¬μ©νμ¬ κ³μ μ ννν μ μμ΅λλ€. μλ₯Ό λ€μ΄, Season
μ΄λΌλ μ΄κ±°νμ μμ±νκ³ κ° κ³μ μ λ©€λ²λ‘ μΆκ°ν μ μμ΅λλ€.
enum Season {
SPRING,
SUMMER,
FALL,
WINTER
}
μμ μ½λλ₯Ό 보면 Season
μ΄λΌλ μ΄κ±°νμ μμ±νκ³ , SPRING
, SUMMER
, FALL
, WINTER
λΌλ λ©€λ²λ€μ μΆκ°ν κ²μ λ³Ό μ μμ΅λλ€. κ° λ©€λ²λ ν΄λΉνλ κ³μ μ λνλ
λλ€.
κ³μ μ¬μ©νκΈ°
μ΄κ±°νμΌλ‘ κ³μ μ νννλ€λ©΄, μ΄λ₯Ό νμ©νμ¬ κ³μ μ λ€λ£¨λ μ½λλ₯Ό μμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νμ¬μ μμ νμΈνκ³ ν΄λΉνλ κ³μ μ μΆλ ₯νλ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
import java.time.LocalDate;
import java.time.Month;
public class Main {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now();
Month currentMonth = currentDate.getMonth();
Season season;
switch (currentMonth) {
case MARCH:
case APRIL:
case MAY:
season = Season.SPRING;
break;
case JUNE:
case JULY:
case AUGUST:
season = Season.SUMMER;
break;
case SEPTEMBER:
case OCTOBER:
case NOVEMBER:
season = Season.FALL;
break;
case DECEMBER:
case JANUARY:
case FEBRUARY:
season = Season.WINTER;
break;
default:
season = null;
break;
}
if (season != null) {
System.out.println("νμ¬ κ³μ μ " + season + "μ
λλ€.");
} else {
System.out.println("μ€λ₯: μλͺ»λ μμ
λλ€.");
}
}
}
μμ μ½λλ νμ¬ λ μ§λ₯Ό νμΈνμ¬ νμ¬ μμ μμλ΄κ³ , switch
λ¬Έμ μ¬μ©νμ¬ κ°κ°μ μμ λ°λΌ ν΄λΉνλ κ³μ μ κ²°μ νλ μμ μ
λλ€. κ³μ μ season
λ³μμ ν λΉλκ³ , ν΄λΉ κ³μ μ μΆλ ₯ν©λλ€.
μμ½νλ©΄, μ΄κ±°νμ μ¬μ©νμ¬ κ³μ μ ννν μ μμ΅λλ€. μ΄κ±°νμ κ°κ°μ κ³μ μ λͺ ννκ³ κ°κ²°νκ² ννν μ μμ΄ κ°λ μ±μ λμ¬μ€λλ€. κ³μ μ μ΄κ±°νμΌλ‘ νννλ©΄ μ½λλ₯Ό μμ±ν λ μ€λ₯λ₯Ό λ°©μ§νκ³ , μ μ§λ³΄μλ₯Ό μ½κ² ν μ μμ΅λλ€. κ³μ μ λ€λ£¨λ νλ‘κ·Έλ¨μ μμ±ν λλ μ΄κ±°νμ νμ©ν΄λ³΄μΈμ.
- μ£Όλ¬Έ μν κ΄λ¦¬νκΈ°
μ£Όλ¬Έ μνλ₯Ό κ΄λ¦¬νλ νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€κ³ κ°μ ν΄λ΄ μλ€. μ£Όλ¬Έμ μ¬λ¬ κ°μ§ μνλ₯Ό κ°μ§ μ μμΌλ©°, μ½λμμ λ¬Έμμ΄λ‘ νννλ©΄ κ°λ μ±μ λ¨μ΄λ¨λ¦΄ μ μμ΅λλ€. μ΄λ° κ²½μ°, μ΄κ±°ν(enum)μ μ¬μ©νμ¬ μ£Όλ¬Έ μνλ₯Ό νννλ©΄ μ½λλ₯Ό λμ± λͺ ννκ³ κ°λ μ±μ΄ μ’κ² λ§λ€ μ μμ΅λλ€. μ΄λ² μΉμ μμλ μ£Όλ¬Έ μνλ₯Ό λνλ΄λ μ΄κ±°νμ λ§λ€κ³ νμ©νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
μ΄κ±°νμΌλ‘ μ£Όλ¬Έ μν νννκΈ°
μ£Όλ¬Έμ μ¬λ¬ κ°μ§ μνλ₯Ό κ°μ§ μ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νμ¬ μ£Όλ¬Έ μνλ₯Ό ννν μ μμ΅λλ€. μλ₯Ό λ€μ΄, OrderStatus
λΌλ μ΄κ±°νμ μμ±νκ³ κ° μ£Όλ¬Έ μνλ₯Ό λ©€λ²λ‘ μΆκ°ν μ μμ΅λλ€.
enum OrderStatus {
RECEIVED,
PROCESSING,
SHIPPED,
DELIVERED,
CANCELLED
}
μμ μ½λλ₯Ό 보면 OrderStatus
λΌλ μ΄κ±°νμ μμ±νκ³ , RECEIVED
, PROCESSING
, SHIPPED
, DELIVERED
, CANCELLED
λΌλ λ©€λ²λ€μ μΆκ°ν κ²μ λ³Ό μ μμ΅λλ€. κ° λ©€λ²λ ν΄λΉνλ μ£Όλ¬Έ μνλ₯Ό λνλ
λλ€.
μ£Όλ¬Έ μν μ¬μ©νκΈ°
μ΄κ±°νμΌλ‘ μ£Όλ¬Έ μνλ₯Ό νννλ€λ©΄, μ΄λ₯Ό νμ©νμ¬ μ£Όλ¬Έ μνλ₯Ό λ€λ£¨λ μ½λλ₯Ό μμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ£Όλ¬Έμ μνλ₯Ό νμΈνκ³ ν΄λΉνλ μμ μ μννλ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// μ¬μ©μλ‘λΆν° μ£Όλ¬Έ μν μ
λ ₯ λ°κΈ°
Scanner scanner = new Scanner(System.in);
System.out.println("μ£Όλ¬Έ μνλ₯Ό μ
λ ₯νμΈμ (RECEIVED, PROCESSING, SHIPPED, DELIVERED, CANCELLED): ");
String userInput = scanner.nextLine();
// μ¬μ©μ μ
λ ₯ κ°μ ν΄λΉνλ μ΄κ±°ν λ©€λ² μ°ΎκΈ°
OrderStatus orderStatus = OrderStatus.valueOf(userInput.toUpperCase());
// μ£Όλ¬Έ μνμ λ°λ₯Έ μμ
μν
switch (orderStatus) {
case RECEIVED:
System.out.println("μ£Όλ¬Έμ΄ μ μλμμ΅λλ€.");
break;
case PROCESSING:
System.out.println("μ£Όλ¬Έμ΄ μ²λ¦¬ μ€μ
λλ€.");
break;
case SHIPPED:
System.out.println("μ£Όλ¬Έμ΄ λ°μ‘λμμ΅λλ€.");
break;
case DELIVERED:
System.out.println("μ£Όλ¬Έμ΄ λ°°λ¬λμμ΅λλ€.");
break;
case CANCELLED:
System.out.println("μ£Όλ¬Έμ΄ μ·¨μλμμ΅λλ€.");
break;
default:
System.out.println("μ€λ₯: μλͺ»λ μ£Όλ¬Έ μνμ
λλ€.");
break;
}
}
}
μμ μ½λλ μ¬μ©μλ‘λΆν° μ£Όλ¬Έ μνλ₯Ό μ
λ ₯λ°μ ν΄λΉνλ μνμ λ°λΌ λ€λ₯Έ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ
λλ€. μ¬μ©μ μ
λ ₯ κ°μ valueOf()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ‘ λ³νλ©λλ€. κ·Έλ° λ€μ switch
λ¬Έμ μ¬μ©νμ¬ κ°κ°μ μ£Όλ¬Έ μνμ λ§λ μμ
μ μνν©λλ€.
μμ½νμλ©΄, μ΄κ±°νμ μ¬μ©νμ¬ μ£Όλ¬Έ μνλ₯Ό ννν μ μμ΅λλ€. μ΄κ±°νμ κ°κ°μ μ£Όλ¬Έ μνλ₯Ό λͺ ννκ³ κ°κ²°νκ² ννν μ μμ΄ κ°λ μ±μ λμ¬μ€λλ€. μ£Όλ¬Έ μνλ₯Ό μ΄κ±°νμΌλ‘ νννλ©΄ μ½λλ₯Ό μμ±ν λ μ€λ₯λ₯Ό λ°©μ§νκ³ , μ μ§λ³΄μλ₯Ό μ½κ² ν μ μμ΅λλ€. μ£Όλ¬Έ μνλ₯Ό λ€λ£¨λ νλ‘κ·Έλ¨μ μμ±ν λλ μ΄κ±°νμ νμ©ν΄λ³΄μΈμ.
- νμ λΆμ¬νκΈ°
νμ μ λΆμ¬νλ νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€κ³ κ°μ ν΄λ΄ μλ€. νμ μ νΉμ ν μ±μ μ λ°λΌ λ¬λΌμ§λ©°, μ½λμμ λ¬Έμμ΄λ‘ νννλ©΄ κ°λ μ±μ λ¨μ΄λ¨λ¦΄ μ μμ΅λλ€. μ΄λ° κ²½μ°, μ΄κ±°ν(enum)μ μ¬μ©νμ¬ νμ μ νννλ©΄ μ½λλ₯Ό λμ± λͺ ννκ³ κ°λ μ±μ΄ μ’κ² λ§λ€ μ μμ΅λλ€. μ΄λ² μΉμ μμλ νμ μ λνλ΄λ μ΄κ±°νμ λ§λ€κ³ νμ©νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
μ΄κ±°νμΌλ‘ νμ νννκΈ°
νμ μ A, B, C, D, Fμ κ°μ λ±κΈμΌλ‘ ννλ μ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νμ¬ νμ μ ννν μ μμ΅λλ€. μλ₯Ό λ€μ΄, Grade
λΌλ μ΄κ±°νμ μμ±νκ³ κ° νμ μ λ©€λ²λ‘ μΆκ°ν μ μμ΅λλ€.
enum Grade {
A,
B,
C,
D,
F
}
μμ μ½λλ₯Ό 보면 Grade
λΌλ μ΄κ±°νμ μμ±νκ³ , A
, B
, C
, D
, F
λΌλ λ©€λ²λ€μ μΆκ°ν κ²μ λ³Ό μ μμ΅λλ€. κ° λ©€λ²λ ν΄λΉνλ νμ μ λνλ
λλ€.
νμ μ¬μ©νκΈ°
μ΄κ±°νμΌλ‘ νμ μ νννλ€λ©΄, μ΄λ₯Ό νμ©νμ¬ νμ μ λ€λ£¨λ μ½λλ₯Ό μμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ ν μ±μ μ μ λ ₯λ°κ³ ν΄λΉνλ νμ μ μΆλ ₯νλ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// μ¬μ©μλ‘λΆν° μ±μ μ
λ ₯ λ°κΈ°
Scanner scanner = new Scanner(System.in);
System.out.println("νμ μ μ
λ ₯νμΈμ (A, B, C, D, F): ");
String userInput = scanner.nextLine();
// μ¬μ©μ μ
λ ₯ κ°μ ν΄λΉνλ μ΄κ±°ν λ©€λ² μ°ΎκΈ°
Grade grade = Grade.valueOf(userInput.toUpperCase());
// νμ μ λ°λ₯Έ λ©μμ§ μΆλ ₯
switch (grade) {
case A:
System.out.println("μμ£Ό μ°μν μ±μ μ
λλ€. μΆνν©λλ€!");
break;
case B:
System.out.println("μ°μν μ±μ μ
λλ€. μ νμ
¨μ΅λλ€!");
break;
case C:
System.out.println("λ³΄ν΅ μμ€μ μ±μ μ
λλ€. λ
Έλ ₯νμΈμ!");
break;
case D:
System.out.println("λ―Έν‘ν μ±μ μ
λλ€. λ 곡λΆν΄μΌ ν©λλ€!");
break;
case F:
System.out.println("κ³Όλ½μ
λλ€. μ¬μκ°μ΄ νμν©λλ€!");
break;
default:
System.out.println("μ€λ₯: μλͺ»λ νμ μ
λλ€.");
break;
}
}
}
μμ μ½λλ μ¬μ©μλ‘λΆν° μ±μ μ μ
λ ₯λ°μ ν΄λΉνλ νμ μ λ°λΌ λ€λ₯Έ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ
λλ€. μ¬μ©μ μ
λ ₯ κ°μ valueOf()
λ©μλλ₯Ό μ¬μ©νμ¬ μ΄κ±°ν λ©€λ²λ‘ λ³νλ©λλ€. κ·Έλ° λ€μ switch
λ¬Έμ μ¬μ©νμ¬ κ°κ°μ νμ μ λ§λ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
μμ½νμλ©΄, μ΄κ±°νμ μ¬μ©νμ¬ νμ μ ννν μ μμ΅λλ€. μ΄κ±°νμ κ°κ°μ νμ μ λͺ ννκ³ κ°κ²°νκ² ννν μ μμ΄ κ°λ μ±μ λμ¬μ€λλ€. νμ μ μ΄κ±°νμΌλ‘ νννλ©΄ μ½λλ₯Ό μμ±ν λ μ€λ₯λ₯Ό λ°©μ§νκ³ , μ μ§λ³΄μλ₯Ό μ½κ² ν μ μμ΅λλ€. νμ μ λ€λ£¨λ νλ‘κ·Έλ¨μ μμ±ν λλ μ΄κ±°νμ νμ©ν΄λ³΄μΈμ.
- μ¬μ©μ λ±κΈ κ΄λ¦¬νκΈ°
μ¬μ©μ λ±κΈμ κ΄λ¦¬νλ νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€κ³ κ°μ ν΄λ΄ μλ€. λ±κΈμ νΉμ ν 쑰건μ λ°λΌ λ¬λΌμ§λ©°, μ½λμμ μ«μλ‘ νννλ©΄ κ°λ μ±μ λ¨μ΄λ¨λ¦΄ μ μμ΅λλ€. μ΄λ° κ²½μ°, μ΄κ±°ν(enum)μ μ¬μ©νμ¬ μ¬μ©μ λ±κΈμ νννλ©΄ μ½λλ₯Ό λμ± λͺ ννκ³ κ°λ μ±μ΄ μ’κ² λ§λ€ μ μμ΅λλ€. μ΄λ² μΉμ μμλ μ¬μ©μ λ±κΈμ λνλ΄λ μ΄κ±°νμ λ§λ€κ³ νμ©νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
μ΄κ±°νμΌλ‘ μ¬μ©μ λ±κΈ νννκΈ°
μ¬μ©μ λ±κΈμ "μΌλ°", "μ€λ²", "골λ", "νλν°λ" λ±κ³Ό κ°μ λ¬Έμμ΄λ‘ ννλ μ μμ΅λλ€. μ΄κ±°νμ μ¬μ©νμ¬ μ¬μ©μ λ±κΈμ ννν μ μμ΅λλ€. μλ₯Ό λ€μ΄, UserLevel
μ΄λΌλ μ΄κ±°νμ μμ±νκ³ κ° λ±κΈμ λ©€λ²λ‘ μΆκ°ν μ μμ΅λλ€.
enum UserLevel {
BASIC,
SILVER,
GOLD,
PLATINUM
}
μμ μ½λλ₯Ό 보면 UserLevel
μ΄λΌλ μ΄κ±°νμ μμ±νκ³ , BASIC
, SILVER
, GOLD
, PLATINUM
λΌλ λ©€λ²λ€μ μΆκ°ν κ²μ λ³Ό μ μμ΅λλ€. κ° λ©€λ²λ ν΄λΉνλ λ±κΈμ λνλ
λλ€.
μ¬μ©μ λ±κΈ μ¬μ©νκΈ°
μ΄κ±°νμΌλ‘ μ¬μ©μ λ±κΈμ νννλ€λ©΄, μ΄λ₯Ό νμ©νμ¬ μ¬μ©μ λ±κΈμ λ€λ£¨λ μ½λλ₯Ό μμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ ν 쑰건μ λ°λΌ μ¬μ©μ λ±κΈμ νλ³νκ³ ν΄λΉνλ λ±κΈμ μΆλ ₯νλ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// μ¬μ©μ μ 보 μ
λ ₯ λ°κΈ°
Scanner scanner = new Scanner(System.in);
System.out.println("μ¬μ©μμ νλμΌ μλ₯Ό μ
λ ₯νμΈμ: ");
int activityDays = scanner.nextInt();
// μ¬μ©μ λ±κΈ νλ³
UserLevel userLevel;
if (activityDays >= 100) {
userLevel = UserLevel.PLATINUM;
} else if (activityDays >= 50) {
userLevel = UserLevel.GOLD;
} else if (activityDays >= 30) {
userLevel = UserLevel.SILVER;
} else {
userLevel = UserLevel.BASIC;
}
// λ±κΈ μΆλ ₯
System.out.println("μ¬μ©μ λ±κΈ: " + userLevel);
}
}
μμ μ½λλ μ¬μ©μμ νλμΌ μλ₯Ό μ
λ ₯λ°μ ν΄λΉνλ λ±κΈμ νλ³νκ³ μΆλ ₯νλ μμ μ
λλ€. νλμΌ μμ λ°λΌ if-else
λ¬Έμ μ¬μ©νμ¬ λ±κΈμ νλ³νκ³ , UserLevel
μ΄κ±°ν λ©€λ²λ₯Ό μ¬μ©νμ¬ λ±κΈμ μ μ₯ν©λλ€. κ·Έλ° λ€μ λ±κΈμ μΆλ ₯ν©λλ€.
μμ½νμλ©΄, μ΄κ±°νμ μ¬μ©νμ¬ μ¬μ©μ λ±κΈμ ννν μ μμ΅λλ€. μ΄κ±°νμ κ°κ°μ λ±κΈμ λͺ ννκ³ κ°κ²°νκ² ννν μ μμ΄ κ°λ μ±μ λμ¬μ€λλ€. μ¬μ©μ λ±κΈμ μ΄κ±°νμΌλ‘ νννλ©΄ μ½λλ₯Ό μμ±ν λ μ€λ₯λ₯Ό λ°©μ§νκ³ , μ μ§λ³΄μλ₯Ό μ½κ² ν μ μμ΅λλ€. μ¬μ©μ λ±κΈμ λ€λ£¨λ νλ‘κ·Έλ¨μ μμ±ν λλ μ΄κ±°νμ νμ©ν΄λ³΄μΈμ.
λκΈ