์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- extjs
- ๋ผ๋๋ฌด์คdvd
- React
- error
- vscode
- ์์
- Request
- minimalAPI
- JSON
- c#์ฝ๋ฉ์๊ธฐ์ ์ค์ ํธ
- ์ค๋ ์์ฐ์
- ๋์ ๋ณธ์์์
- ์์ค๊ฐ๋ ์ค๋
- Store
- LINQ
- extraParams
- JavaScript
- ์ฝ๋ํ๋ก๊ทธ๋๋จธ์ค
- mac
- dbContext
- Config
- intellij
- ๋ช ์์ ์ธ๋ํค
- lazy loading
- EFCore
- c#
- .net
- ViewModel
- ORM
- scanner
- Today
- Total
ejyoo's ๊ฐ๋ฐ ๋ ธํธ
Enum(์ด๊ฑฐํ) ๋ณธ๋ฌธ
๐ก Enum ์ด๋?
enum type์ ์์(Constant)๋ก ์ฌ์ฉํ ๊ฐ๋ค์ ๋ฏธ๋ฆฌ ์ ์ธํ์ฌ ์ฌ์ฉํ ๋ ์ฌ์ฉํ๋ ํน๋ณํ ๋ฐ์ดํฐ ํ์ ์ด๋ค.
๐ก Enum ์ฌ์ฉ ์ ์ฅ์
- ๊ธฐ์กด static final ํค์๋๋ฅผ ์ด์ฉํ ์์ ์ ์ธ ๋ฐฉ์์์๋ ํด๋น ์์์ ๊ฐ๋ง ๋น๊ตํ๊ฒ ๋๋ ๋ฐ๋ฉด, enum์ ์ด์ฉํ์ฌ ์์๋ฅผ ์ ์ํ๊ฒ ๋๋ฉด ๊ฐ ๋ฟ๋ง ์๋๋ผ ํ์ ๊น์ง๋ ์ฒดํฌํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ์์ ํ ์ฝ๋๋ฅผ ์์ฑํ ์์๋ค.
- ๊ธฐ์กด ์์ ์ ์ธ ๋ฐฉ์์ ์ฌ์ฉํ๋ ์ฝ๋์์๋ ์์๊ฐ์ด ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ํด๋น ์์๋ฅผ ์ฐธ์กฐํ๋ ์์ค์ฝ๋๋ ๋ชจ๋ ์ฌ์ปดํ์ผ ํด์ค์ผ ํ๋๋ฐ enum ์์๋ฅผ ์ ์ํ์ฌ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๊ทธ๋ด ํ์๊ฐ ์๋ค.
๐ก ๊ธฐ์กด ์์ ์ ์ธ ๋ฐฉ๋ฒ๊ณผ enum ์์ ์ ์ธ ๋ฐฉ๋ฒ ๋น๊ต
//์ด๊ฑฐํ => ์์๊ฐ๋ค์ ์ ์ธํ๋ ๋ฐฉ๋ฒ
static final int A = 0;
static final int B = 1;
static final int C = 2;
static final int D = 3;
enum Data {A, B, C, D};
//์ด๊ฑฐํ ์ ์ธํ๋ ๋ฐฉ๋ฒ
enum ์ด๊ฑฐํ ์ด๋ฆ {์์๊ฐ1, ์์๊ฐ2, ์์๊ฐ3, ..., ์์๊ฐn}
๐ก ์ด๊ฑฐํ์์ ์ฌ์ฉํ๋ ๋ฉ์๋
1) name() => ์ด๊ฑฐํ ์์์ ์ด๋ฆ์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค.
2) ordinal() => ์ด๊ฑฐํ ์์๊ฐ ์ ์๋ ์์๊ฐ์ ๋ฐํํ๋ค. (๊ธฐ๋ณธ์ ์ผ๋ก 0๋ถํฐ ์์)
3) valueOf("์ด๊ฑฐํ ์์์ด๋ฆ"); => ์ง์ ๋ ์ด๊ฑฐํ์์ '์ด๊ฑฐํ์์์ด๋ฆ'๊ณผ ์ผ์นํ๋ ์ด๊ฑฐํ ์์๋ฅผ ๋ฐํํ๋ค.
๐ก City๋ผ๋ ์ด๊ฑฐํ ๊ฐ์ฒด ์ฌ์ฉ(๊ธฐ๋ณธ๊ฐ์ ์ด์ฉํ๋ ์ด๊ฑฐํ)
- name() ์ ์ฌ์ฉํ์ฌ ์์ ์ถ๋ ฅ๊ณผ
- ordinal() ์ ์ฌ์ฉํ์ฌ ์ด๊ฑฐํ ์์ ์์น๊ฐ์ ๋ฐํํ์ฌ ์ถ๋ ฅํ๋ค.
public class Main {
public enum City { ์์ธ, ๋ถ์ฐ, ๋๊ตฌ, ๊ด์ฃผ, ๋์ };
public static void main(String[] args) {
City myCity1;//์ด๊ฑฐํ ์์ ๊ฐ์ฒด ๋ณ์ ์ ์ธ
City myCity2;
// City enum์์ '์์ธ' ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
myCity1 = City.valueOf("์์ธ");
// ์ด๊ฑฐํ ๊ฐ์ฒด ๋ณ์์ ๊ฐ ์ ์ฅํ๊ธฐ
myCity2 = City.๋ถ์ฐ;
System.out.println("myCity1 : " + myCity1.name());
System.out.println("myCity1์ oardinal : " + myCity1.ordinal());
System.out.println();
System.out.println("myCity2 : " + myCity2.name());
System.out.println("myCity2์ oardinal : " + myCity2.ordinal());
System.out.println();
}
}
๐ก ์ด๊ฑฐํ ๊ฐ์ฒด ๊ฐ ๋น๊ต
public class Main {
public enum City { ์์ธ, ๋ถ์ฐ, ๋๊ตฌ, ๊ด์ฃผ, ๋์ };
public static void main(String[] args) {
City city = City.๋๊ตฌ;
System.out.println("๋๊ตฌ์ ๋์ ์ด ๊ฐ์๊ฐ? true/false : " + (city == City.๋์ ));
System.out.println("๋๊ตฌ์ ๋๊ตฌ๊ฐ ๊ฐ์๊ฐ? true/false : " + (city == City.๋๊ตฌ));
System.out.println("๋๊ตฌ์ ๋๊ตฌ ๋น๊ต => " + city.compareTo(City.๋๊ตฌ));
System.out.println("๋๊ตฌ์ ์์ธ ๋น๊ต => " + city.compareTo(City.์์ธ));
System.out.println("๋๊ตฌ์ ๋์ ๋น๊ต => " + city.compareTo(City.๋์ ));
}
}
๐ก ๋ฐ์ดํฐ ๊ฐ์ ์์๋ก ์ง์ ํ ์ด๊ฑฐํ Season ๊ฐ์ฒด ์ ์ธ
๋ฐ์ดํฐ ๊ฐ์ ์ ํด์ค ๊ฒฝ์ฐ์๋ ์์ฑ์๋ฅผ ๋ง๋ค์ด์ ๊ดํธ์์ ๊ฐ์ด ๋ณ์์ ์ ์ฅ๋๋๋ก ํ๋ค.
- valueOf ๋ฅผ ์จ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ๊ณผ ์ง์ ์ด๊ฑฐํ ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
public class Main {
public enum Season {
๋ด("3์๋ถํฐ 5์๊น์ง"),
์ฌ๋ฆ("6์๋ถํฐ 8์๊น์ง"),
๊ฐ์("9์๋ถํฐ 11์๊น์ง"),
๊ฒจ์ธ("12์๋ถํฐ 2์๊น์ง");
// ๊ดํธ์์ ๊ฐ์ด ์ ์ฅ๋ ๋ณ์ ์ ์ธ
private String str;
// ์์ฑ์ ๋ง๋ค๊ธฐ(์ด๊ฑฐํ์ ์์ฑ์๋ ์ ์ด์๊ฐ ๋ฌต์์ ์ผ๋ก 'private'์ด๋ค.)
Season(String data){//private Season(String data){ ์ ๊ฐ๋ค.
str = data;
}
// ๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋ ์์ฑ
public String getStr() {
return str;
}
}
public static void main(String[] args) {
Season ss1 = Season.valueOf("์ฌ๋ฆ");
Season ss2 = Season.๊ฐ์;
System.out.println("Season ss1 is name() : " + ss1.name());
System.out.println("Season ss1 is ordinal() : " + ss1.ordinal());
System.out.println("Season ss1 is get() : " + ss1.getStr());
System.out.println("โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ ");
System.out.println("Season ss2 is name() : " + ss2.name());
System.out.println("Season ss2 is ordinal() : " + ss2.ordinal());
System.out.println("Season ss2 is get() : " + ss2.getStr());
}
}
๐ก ์ด๊ฑฐํ Season ๊ฐ์ฒด ๋ด ์ด๊ฑฐํ ์์ ๋ฐ์ดํฐ๋ค์ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์ ์ถ๋ ฅ
public class Main {
public enum Season {
๋ด("3์๋ถํฐ 5์๊น์ง"),
์ฌ๋ฆ("6์๋ถํฐ 8์๊น์ง"),
๊ฐ์("9์๋ถํฐ 11์๊น์ง"),
๊ฒจ์ธ("12์๋ถํฐ 2์๊น์ง");
// ๊ดํธ์์ ๊ฐ์ด ์ ์ฅ๋ ๋ณ์ ์ ์ธ
private String str;
// ์์ฑ์ ๋ง๋ค๊ธฐ(์ด๊ฑฐํ์ ์์ฑ์๋ ์ ์ด์๊ฐ ๋ฌต์์ ์ผ๋ก 'private'์ด๋ค.)
Season(String data){//private Season(String data){ ์ ๊ฐ๋ค.
str = data;
}
// ๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋ ์์ฑ
public String getStr() {
return str;
}
}
public static void main(String[] args) {
Season[] enumArr = Season.values();
for(int i = 0 ; i < enumArr.length ; i++) {
System.out.println(enumArr[i].name() + " : " + enumArr[i].getStr());
}
System.out.println();
}
}
'BackEnd > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MAC / ORACLE / DOCKER / OJDBC / Eclipse ์ฐ๋ (0) | 2021.03.14 |
---|---|
์ ๋๋ฆญ ์ดํด (0) | 2021.03.09 |
Properties (0) | 2021.03.08 |
Map (0) | 2021.03.08 |
Hash - equals()์ hash() ๋ฉ์๋ ๊ตฌํ (0) | 2021.03.08 |