ํ๊ต ์์ ์๊ฐ์ GUI ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด์ Enumeration์ ๋ํด ๊ณต๋ถํ๋ฉด์, Enum Class method์ ๋ํ ์ง์์ด ๋ถ์กฑํ์ฌ ๊ณต๋ถํด๋ณด๋ ์๊ฐ์ ๊ฐ๊ณ ์ ํ๋ค.
panel.selectTool(EnumName.valueOf(e.getActionCommand()));
(↑ ์ด๊ฑฐ๋ถํฐ๊ฐ ์ดํด๊ฐ ์๊ฐ์์;;)
โจ ์ด๊ฑฐ์ฒด(Enumeration Type)
- ์ฅ์
1. ์ด๊ฑฐ์ฒด๋ฅผ ๋น๊ตํ ๋ ์ค์ ๊ฐ + ํ์ ์ฒดํฌ
2. ์ด๊ฑฐ์ฒด์ ์์ซ๊ฐ์ด ์ฌ์ ์๋๋๋ผ๋ ๋ค์ compile ํ์ ์์
โจ values()
ํด๋น ์ด๊ฑฐ์ฒด์ ๋ชจ๋ ์์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด์ ์์ฑํ์ฌ ๋ฐํ
for(Rainbow rainbow; Rainbow.values()){
System.out.println(rainbow);
}
โจ valueOf()
์ ๋ฌ๋ ๋ฌธ์์ด๊ณผ ์ผ์นํ๋ ํด๋น ์ด๊ฑฐ์ฒด์ ์์๋ฅผ ๋ฐํ
panel.selectTool(EnumName.valueOf(e.getActionCommand()));
e.getActionCommand()์ String์ด EnumName์ name()[์์ ์ด๋ฆ]๊ณผ ๊ฐ์ ์ด๊ฑฐ์ฒด(Enum) ๋ฐํ
โจ ordinal()
ํด๋น ์ด๊ฑฐ์ฒด ์์๊ฐ ์ด๊ฑฐ์ฒด ์ ์์์ ์ ์๋ ์์(0๋ถํฐ ์์)๋ฅผ ๋ฐํ
์์๊ฐ ์์ฒด๊ฐ ์๋ ์์๋ฅผ ๋ฐํํ๋ค๋ ๊ฒ์ ๋ช ์ฌ
public enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
int index = Rainbow.RED.ordinal(); // int index = 0;
+ finalize() -> ํด๋น Enum class๊ฐ final ๋ฉ์๋๋ฅผ ๊ฐ์ง ์ ์๊ฒ ๋จ.
[์ถ์ฒ]
'Programming Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BufferedReader/BufferedWriter (0) | 2022.07.07 |
---|---|
Java 9์ผ์ฐจ ๊ณต๋ถ(java.util[Date, Calendar]) (0) | 2022.02.26 |
Java 9์ผ์ฐจ ๊ณต๋ถ(Java API[Wrapper(ํฌ์ฅ) Class, Math Class]) (0) | 2022.02.26 |
Java 9์ผ์ฐจ ๊ณต๋ถ(Java API[String Class]) (0) | 2022.02.26 |
Java 9์ผ์ฐจ ๊ณต๋ถ(Java API[Object Class, System Class, Class Class]) (0) | 2022.02.26 |