ν‹°μŠ€ν† λ¦¬ λ·°

μ–Έμ–΄/μžλ°”

μ—΄κ±°ν˜•

uijin-j 2023. 7. 17. 21:04

πŸ“Œ μ—΄κ±°ν˜•

: μ„œλ‘œ κ΄€λ ¨λœ μƒμˆ˜λ₯Ό νŽΈλ¦¬ν•˜κ²Œ μ„ μ–Έν•˜κΈ° μœ„ν•œ 것

: μžλ°”μ˜ μ—΄κ±°ν˜•μ€ νƒ€μž…μ— μ•ˆμ „

 

πŸ’πŸ»‍♀️ νƒ€μž…μ— μ•ˆμ „ν•˜λ‹€λŠ” 것은 μ–΄λ–€ μ˜λ―ΈμΈκ°€μš”?

enum Gender { MALE, FEMALE } // MALE: 0, FEMALE: 1
enum PostStatus { OPEN, CLOSE } // OPEN: 0, CLOSE: 1

λ§Œμ•½ μ΄λ ‡κ²Œ ν•˜λ©΄ Gender.MALEκ³Ό PostStatus.OPEN의 valueκ°€ λͺ¨λ‘ 0μ΄μ§€λ§Œ, νƒ€μž…μ΄ λ‹€λ₯΄λ―€λ‘œ μ„œλ‘œ 비ꡐλ₯Ό ν•  수 μ—†μŒ!

if(Gender.MALE == PostStatus.OPEN) // 컴파일 μ—λŸ¬!

 

: μ—΄κ±°ν˜• μƒμˆ˜κ°„ λΉ„κ΅μ—μ„œ == μ‚¬μš© κ°€λŠ₯!

: but >, < λŠ” λΆˆκ°€λŠ₯! λŒ€μ‹  compareTo() μ‚¬μš©

 

https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html

 

Enum (Java Platform SE 8 )

Returns the enum constant of the specified enum type with the specified name. The name must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.) Note that for a particular enum typ

docs.oracle.com

 

πŸ’πŸ»‍♀️ μ—΄κ±°ν˜•μ˜ μƒμˆ˜μ˜ 값을 λ°”κΎΈκ³  μ‹Άμ–΄μš”!

πŸ‘©πŸ»‍🏫 μ§€μ •λœ 값을 μ €μž₯ν•  수 μžˆλŠ” μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ™€ μƒμ„±μžλ₯Ό μΆ”κ°€ν•΄μ£Όλ©΄ 됨! 

enum Gender { 
    MALE(3), FEMALE(4);
    
    private final int VALUE;
    
    Gender(int value) { VALUE = value; } // λ¬΅μ‹œμ μœΌλ‘œ private μƒμ„±μž!
    
    public int getValue() { return VALUE; } // Gender.MALE.getValue() μ΄λ ‡κ²Œ μ‚¬μš©!
}

 

πŸ’πŸ»‍♀️ μ—΄κ±°ν˜•μ— λ©”μ„œλ“œλ₯Ό μ—΄κ±°ν˜• νƒ€μž…λ§ˆλ‹€ λ‹€λ₯΄κ²Œ μ •μ˜ν•˜κ³  μ‹Άμ–΄μš”!

πŸ‘©πŸ»‍🏫 좔상 λ©”μ„œλ“œλ‘œ κ΅¬ν˜„ κ°€λŠ₯!

enum Gender { 
    MALE(3) { int process(int num) { return value + num } }, 
    FEMALE(4) { int process(int num) { return value - num } };
    
    abstract int process(int num) // numκ³Ό 성별(3, 4)을 κ°€μ§€κ³  처리λ₯Ό ν•˜λŠ” 좔상 λ©”μ„œλ“œ
    
    protected final int VALUE;
    
    Gender(int value) { VALUE = value; }
 
    abstract int getValue(int num) { return value; }

}

 

βœ”οΈ 이런게 λ‹€ κ°€λŠ₯ν•œ μ΄μœ λŠ” μ—΄κ±°ν˜• μƒμˆ˜(ex. MALE, FEMALE) ν•˜λ‚˜ν•˜λ‚˜κ°€ μ—΄κ±°ν˜•μ˜ (ex. Gender)의 객체이기 λ•Œλ¬Έ!

'μ–Έμ–΄ > μžλ°”' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μ“°λ ˆλ“œ  (0) 2023.07.30
μ• λ„ˆν…Œμ΄μ…˜  (0) 2023.07.20
μ§€λ„€λ¦­μŠ€  (0) 2023.07.14
μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›  (0) 2023.07.13
java.langνŒ¨ν‚€μ§€μ™€ μœ μš©ν•œ 클래슀  (0) 2023.06.29
곡지사항
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
링크
Β«   2025/05   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
κΈ€ 보관함