1. ๋ฌธ์์ด๊ณผ ํ์ ์์ ์ฑ
* String ์ฌ์ฉ ์ ํ์ ์์ ์ฑ ๋ถ์กฑ ๋ฌธ์
- ๊ฐ์ ์ ํ ๋ถ์กฑ : String์ผ๋ก ์ํ๋ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ํํํ๋ฉด ์๋ชป๋ ๋ฌธ์์ด์ ์ ๋ ฅํ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
- ์ปดํ์ผ ์ ์ค๋ฅ ๊ฐ์ง ๋ถ๊ฐ : ์ด๋ฌํ ์๋ชป์ ์ปดํ์ผ ์์๋ ๊ฐ์ง๋์ง ์๊ณ , ๋ฐํ์์์๋ง ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์ด ๋๋ฒ๊น ์ด ์ด๋ ค์์ง ์ ์๋ค.
- ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํน์ ๋ฒ์๋ก ๊ฐ์ ์ ํํด์ผ ํ์ง๋ง, String์ ์ด๋ฅผ ๋ง์ ์ ์๋ค.
- ์์๋ฅผ ์ฌ์ฉํด์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ํด๋ ๊ฒฐ๊ตญ ๊ทผ๋ณธ์ ์ธ ํ์ ์ String์ด๊ธฐ ๋๋ฌธ์ ์ธ์ ๋ ๋ค๋ฅธ๊ฐ์ด ์ฌ์ฉ๋ ์ ๋ ์๋ค.
2. ํ์ ์์ ์ด๊ฑฐํ ํจํด
enum : enumeration์ ์ค์๋ง์ด๋ฉฐ ์ด๊ฑฐ๋ผ๋ ๋ป์ด๋ฉฐ ์ด๋ค ํญ๋ชฉ์ ๋์ดํ๋ ๊ฒ์ ๋ปํ๋ค.
- ์์์ private์์ฑ์ ๊น์ง ์ฌ์ฉํด ์ธ๋ถ์์์ ๊ฐ ๋ณ๊ฒฝ์ ์๋ฒฝํ๊ฒ ์ฐจ๋จํ ์ ์๋ค.
public class ClassGrade {
public static final ClassGrade BASIC = new ClassGrade();
public static final CalssGrade GOLD = new CLassGrade();
public static final ClassGrade DIAMOND = new ClassGrade();
private ClassGrade(){}
}
1) ํ์ ์์ ์ด๊ฑฐํ ํจํด์ ์ฅ์
- ํ์ ์์ ์ฑ ํฅ์ : ์ ํด์ง ๊ฐ์ฒด๋ง ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์, ์๋ชป๋ ๊ฐ์ ์ ๋ ฅํ๋ ๋ฌธ์ ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ๋ฐฉ์งํ ์ ์๋ค.
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ : ์ ํด์ง ๊ฐ์ฒด๋ง ์ฌ์ฉํ๋ฏ๋ก ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋๋ค.
- ์ ํ๋ ์ธ์คํด์ค ์์ฑ : ํด๋์ค๋ ์ฌ์ ์ ์ ์๋ ๋ช ๊ฐ์ ์ธ์คํด์ค๋ง ์์ฑํ๊ณ , ์ธ๋ถ์์๋ ์ด ์ธ์คํด์ค๋ค๋ง ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
์ด๋ฅผ ํตํด ๋ฏธ๋ฆฌ ์ ์๋ ๊ฐ๋ค๋ง ์ฌ์ฉํ๋๋ก ๋ณด์ฅํ๋ค.
- ํ์ ์์ ์ฑ : ์ด ํจํด์ ์ฌ์ฉํ๋ฉด, ์๋ชป๋ ๊ฐ์ด ํ ๋น๋๊ฑฐ๋ ์ฌ์ฉ๋๋ ๊ฒ์ ์ปดํ์ผ ์์ ์์ ๋ฐฉ์งํ ์ ์๋ค.
2) ๋จ์
- ์ฝ๋๊ฐ ๊ธธ์ด์ง๋ค.
3. ์ด๊ฑฐํ - Enum Type
- ์๋ฐ๋ ํ์ ์์ ์ด๊ฑฐํ ํจํด์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ์ด๊ฑฐํ์ ์ ๊ณตํ๋ค.
- ์์์ ์งํฉ์ ์ ์ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
public enum Grade {
BASIC, GOLD, DIAMOND
}
- class ๋์ enum์ ์ฌ์ฉํ๋ฉฐ ClassGrade์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ค.
1) enum์ ์ฅ์
- ํ์ ์์ ์ฑ ํฅ์ : ์ด๊ฑฐํ์ ์ฌ์ ์ ์ ์๋ ์์๋ค๋ก๋ง ๊ตฌ์ฑ๋๋ฏ๋ก, ์ ํจํ์ง ์์ ๊ฐ์ด ์ ๋ ฅ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
- ๊ฐ๊ฒฐ์ฑ ๋ฐ ์ผ๊ด์ฑ : ์ด๊ฑฐํ์ ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ๋ ๊ฐ๊ฒฐํ๊ณ ๋ช ํํด์ง๋ฉฐ, ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋๋ค.
- ํ์ฅ์ฑ : ์๋ก์ด ํ์ ๋ฑ๊ธ ํ์ ์ ์ถ๊ฐํ๊ณ ์ถ์ ๋, ENUM์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
4. ์ด๊ฑฐํ - ์ฃผ์ ๋ฉ์๋
- value() : ๋ชจ๋ enum ์์๋ฅผ ํฌํจํ๋ ๋ฐฐ์ด์ ๋ฐํํ๋ค.
- name() : enum์ ์ด๋ฆ์ ํ์ธํ ์ ์๋ค.
- ordinal() : enum์ ์์๋ฅผ ํ์ธํ ์ ์๋ค. (0 ๋ถํฐ ์์)
- valueOf(String name) : ์ฃผ์ด์ง ์ด๋ฆ๊ณผ ์ผ์นํ๋ ENUM ์์๋ฅผ ๋ฐํํ๋ค.
- toString() : enum ์ด๋ฆ์ ๋ฌธ์์ด๋ก ๋ฐํ. ์ค๋ฒ๋ผ์ด๋ฉ ํ ์ ์๋ค๋ ์ ์์ name()๊ณผ ๋ค๋ฆ
- ์ฐธ๊ณ : ๊น์ํ์ ์ค์ ์๋ฐ - ์ค๊ธ 1ํธ
๋๊ธ