- Inline Variable: ๋ณ์ ์ถ์ถ ์์ด ํํ์์ ์ง์ ์ฝ์ ํ๋ ๋ฆฌํฉํ ๋ง
- ์๋ฐ์์ ๋ชจ๋ ํด๋์ค์ ์ต์์ ๋ถ๋ชจ ํด๋์ค๋ ํญ์ Object ํด๋์ค
- ๋ถ๋ชจ๊ฐ ์์ผ๋ฉด ๋ฌต์์ ์ผ๋ก Object ํด๋์ค๋ฅผ ์์๋ฐ๋๋ค.
- toString()์ Object ํด๋์ค์ ๋ฉ์๋
-
๋ชจ๋ ๊ฐ์ฒด๋ ๊ณตํต๊ธฐ๋ฅ์ ํธ๋ฆฌํ๊ฒ ์ ๊ณต(์์)๋ฐ์ ์ ์๋ค.
- ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ toString()
- ๊ฐ์ฒด์ ๊ฐ์์ ๋น๊ตํ๋ equals()
- ๊ฐ์ฒด์ ํด๋์ค ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ getClass()
- ๋ฑ๋ฑ
- ๋ถ๋ชจ๋ ์์์ ๋ด์ ์ ์๋ค.
- Object๋ ๋ชจ๋ ํด๋์ค์ ๋ถ๋ชจ ํด๋์ค์ด๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.
- instanceof๋ ๋ณ์ ํ์ ์ด ์๋๋ผ ์ค์ ๊ฐ์ฒด์ ํ์ ์ ํ์ธํ๋ค.
- obj๊ฐ Object ํ์ ์ผ๋ก ์ ์ธ๋ผ๋, ์์ ์ค์ ๋ก Dog ๊ฐ์ฒด๊ฐ ๋ค์ด์์ผ๋ฉด obj instanceof Dog๋ true๊ฐ ๋๋ค.
- instanceof๋ true/false๋ง ๋ฐํํ๋ฉฐ ํ์ ํ์ธ๋ง ํ๋ค.
- ์๋ฐ 16๋ถํฐ instanceof์ ํจํด ๋งค์นญ์ ์ ์ฉํด ์๋์ผ๋ก
-
Object๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ๋์์ผ๋ก ๋คํ์ ์ฐธ์กฐ๋ฅผ ํ ์ ์๋ค.
-
Object๋ฅผ ํตํด ์ ๋ฌ๋ฐ์ ๊ฐ์ฒด๋ฅผ ํธ์ถํ๋ ค๋ฉด ๊ฐ ๊ฐ์ฒด์ ๋ง๋ ๋ค์ด์บ์คํ ๊ณผ์ ์ด ํ์ํ๋ค.
-
Object๊ฐ ๋ชจ๋ ๋ฉ์๋๋ฅผ ์๊ณ ์๋ ๊ฒ์ด ์๋๋ค.
-
toString ์ค๋ฒ๋ผ์ด๋ฉ : alt+insert๋ก ํ๋ฉด ๋งค์ฐ ํธ๋ฆฌํจ
- ์ฝ๋ ์์์ ์ง์ new๋ก ๊ฐ์ฒด ์์ฑ
- ์ปดํ์ผ ์์ ์ ์์กด์ฑ์ด ๊ฒฐ์
- ์ฝ๋ ์์ ์์ด๋ ์์กด์ฑ ๊ต์ฒด ์ด๋ ค์
- ๊ฐ์ฒด๋ฅผ ์ธ๋ถ์์ ์ฃผ์ (์์ฑ์, setter, DI)
- ๋ฐํ์ ์์ ์ ์์กด์ฑ ๊ฒฐ์
- ์ฝ๋ ๋ณ๊ฒฝ ์์ด ๊ฐ์ฒด ๊ต์ฒด ๊ฐ๋ฅ
- == ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ๋ ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ ๋์ผํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ํ์ธ
- equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๊ฐ์ฒด๊ฐ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋๋ฑํ์ง ํ์ธ
- ๋๋ฑ์ฑ ๋น๊ต๊ฐ ํญ์ ํ์ํ ๊ฒ์ ์๋๋ค. ๋๋ฑ์ฑ ๋น๊ต๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ง equals()๋ฅผ ์ฌ์ ์ํ๋ฉด ๋๋ค.
- ๊ธฐ๋ณธํ: ํ๋์ ๊ฐ์ ์ฌ๋ฌ ๋ณ์์์ ์ ๋๋ก ๊ณต์ ํ์ง ์๋๋ค.
- ์ฐธ์กฐํ: ํ๋์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ๊ฐ์ ํตํด ์ฌ๋ฌ ๋ณ์์์ ๊ณต์ ํ ์ ์๋ค.
- ์๋ฐ๋ ํญ์ ๊ฐ์ ๋ณต์ฌํด์ ๋์ ํ๋ค.
- ํ๋ก๊ทธ๋๋ฐ์์ ์ด๋ค ๊ณ์ฐ์ด ์ฃผ๋ ์์ ์ธ์ ์ถ๊ฐ์ ์ธ ๋ถ์ ํจ๊ณผ๋ฅผ ์ผ์ผํค๋ ๊ฒ์ ๋งํจ. (๋ถ์ ์ ์ธ ์๋ฏธ)
- ์ฌ๋ฌ ๋ณ์๊ฐ ํ๋์ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ๋ง์ ๋ฐฉ๋ฒ์ ์๋ค.
- ๊ธฐ๋ณธํ์ ํญ์ ๊ฐ์ ๋ณต์ฌํด์ ๋์ ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ์ ๋๋ก ๊ณต์ ๋์ง ์๋๋ค.
- ํ์ง๋ง ์ฐธ์กฐํ์ ๊ฒฝ์ฐ ๊ฐ์ ์ฐธ์กฐ๊ฐ์ ๋ณต์ฌํด์ ๋์ ํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๋ณ์์์ ์ผ๋ง๋ ์ง ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ ์ ์๋ค.
- ๊ฐ์ฒด์ ์ํ(๊ฐ์ฒด ๋ด๋ถ์ ๊ฐ, ํ๋, ๋ฉค๋ฒ ๋ณ์)๊ฐ ๋ณํ์ง ์๋ ๊ฐ์ฒด
- ๋ถ๋ณ์ด๋ผ๋ ๋จ์ํ ์ ์ฝ์ ์ฌ์ฉํด์ ์ฌ์ด๋ ์ดํํธ๋ผ๋ ํฐ ๋ฌธ์ ๋ฅผ ๋ง์ ์ ์๋ค.
- ๋ถ๋ณ ๊ฐ์ฒด๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
- ๋ฐ๋ผ์ ๋ถ๋ณ ๊ฐ์ฒด์ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ๋ณ๊ฒฝํ๊ณ ์ถ์ ๊ฐ์ผ๋ก ์๋ก์ด ๋ถ๋ณ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด ๊ธฐ์กด ๋ณ์๋ค์ด ์ฐธ์กฐํ๋ ๊ฐ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
-
๋ถ๋ณ ๊ฐ์ฒด์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ withYear()์ฒ๋ผ 'with'๋ก ์์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
-
๋ถ๋ณ ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ 'with'๋ก ์ด๋ฆ ์ง์ด์ง ๊ฒฝ์ฐ, ๊ทธ ๋ฉ์๋๊ฐ ์ง์ ๋ ์์ ์ฌํญ์ ํฌํจํ๋ ๊ฐ์ฒด์ ์ ์ธ์คํด์ค๋ฅผ ๋ฐํํ๋ค๋ ์ฌ์ค์ ๋ปํ๋ค.
-
์ ๋ฆฌํ์๋ฉด with๋ ๊ด๋ก์ฒ๋ผ ์ฌ์ฉ๋๋๋ฐ, ์๋ณธ ๊ฐ์ฒด์ ์ํ๊ฐ ๊ทธ๋๋ก ์ ์ง๋จ์ ๊ฐ์กฐํ๋ฉด์ ๋ณ๊ฒฝ์ฌํญ์ ์ ๋ณต์ฌ๋ณธ์ ํฌํจํ๋ ๊ณผ์ ์ ํํ.
-
๋ชจ๋ ํด๋์ค๋ฅผ ๋ถ๋ณ์ผ๋ก ๋ง๋๋ ๊ฒ์ ์๋๋ค.
- String์ ํด๋์ค๋ค. int, boolean ๊ฐ์ ๊ธฐ๋ณธํ์ด ์๋๋ผ ์ฐธ์กฐํ์ด๋ค.
String str1 = "hello"; //๊ธฐ์กด
String str1 = new String("Hello"); //๋ณ๊ฒฝ- ๋ฌธ์์ด์ ๋งค์ฐ ์์ฃผ ์ฌ์ฉ๋๋ค.
- ๊ทธ๋์ ํธ์์ ์๋ฐ์ดํ๋ก ๋ฌธ์์ด์ ๊ฐ์ธ๋ฉด ์๋ฐ ์ธ์ด์์ new String("hello")์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
- length(): ๋ฌธ์์ด ๊ธธ์ด ๋ฐํ
- charAt(int index): ํน์ ์ธ๋ฑ์ค์ ๋ฌธ์ ๋ฐํ
- substring(int beginIndex, int endIndex): ๋ฌธ์์ด์ ๋ถ๋ถ ๋ฌธ์์ด ๋ฐํ
- indexOf(String str): ํน์ ๋ฌธ์์ด์ด ์์๋๋ ์ธ๋ฑ์ค ๋ฐํ
- toLowerCase(), toUpperCase(): ๋ฌธ์์ด์ ์๋ฌธ์ ๋๋ ๋๋ฌธ์๋ก ๋ฐํ
- trim(): ๋ฌธ์์ด ์ ๋์ ๊ณต๋ฐฑ์ ์ ๊ฑฐ
- concat(String str): ๋ฌธ์์ด์ ๋ํจ (๊ธฐ์กด ๋ฌธ์์ด์ ๋ฐ๊พธ๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด ๋ณ์๋ฅผ ์ง์ ํด์ค์ผํจ)
- String ํด๋์ค ๋น๊ตํ ๋๋ == ๋น๊ต๊ฐ ์๋๋ผ ํญ์ equals() ๋น๊ต๋ฅผ ํด์ผํ๋ค.
String str3 = "hello"
String str4 = "hello"
str3 == str4 // true-
๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์๋ฐ๋ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ๊ณผ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ๋ฌธ์์ด ํ์ ์ฌ์ฉํ๋ค.
-
์๋ฐ๊ฐ ์คํ๋๋ ์์ ์ ํด๋์ค์ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ด ์์ผ๋ฉด ๋ฌธ์์ด ํ์ String ์ธ์คํด์ค๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋๋ค.
-
์ด๋ ๊ฐ์ ๋ฌธ์์ด์ด ์์ผ๋ฉด ๋ง๋ค์ง ์๋๋ค.
-
ํ๋ก๊ทธ๋๋ฐ์์ ํ์ ๊ณต์ฉ ์์์ ๋ชจ์๋ ๊ณณ์ ๋ปํจ.
-
์ฐธ๊ณ ๋ก ๋ฌธ์์ด ํ์ ํ ์์ญ์ ์ฌ์ฉ.
-
๊ทธ๋๋ ๋ฌธ์์ด ๋น๊ต๋ ํญ์ equals()๋ฅผ ์ฌ์ฉํด์ ๋๋ฑ์ฑ ๋น๊ต๋ฅผ ํด์ผ ํ๋ค.
-
String์ ๋ถ๋ณ ๊ฐ์ฒด์ด๋ค. ๋ฐ๋ผ์ ์์ฑ ์ดํ์ ์ ๋๋ก ๋ด๋ถ์ ๋ฌธ์์ด ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
- length(): ๋ฌธ์์ด ๊ธธ์ด ๋ฐํ
- isEmpty(): ๋ฌธ์์ด์ด ๋น์ด์๋์ง ํ์ธ (๊ธธ์ด๊ฐ 0)
- isBlank(): ๋ฌธ์์ด์ด ๋น์ด์๋์ง ํ์ธ (๊ธธ์ด๊ฐ 0์ด๊ฑฐ๋ ๊ณต๋ฐฑ๋ง ์๋ ๊ฒฝ์ฐ)
- charAt(int index): ์ง์ ๋ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์๋ฅผ ๋ฐํ
- equals(Object anObject): ๋ ๋ฌธ์์ด ๋์ผํ์ง ๋น๊ต
- equalsIgnoreCase(String anotherString): ๋ ๋ฌธ์์ด์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ๋น๊ต
- compareTo(String anotherString): ๋ ๋ฌธ์์ด์ ์ฌ์ ์์ผ๋ก ๋น๊ต
- compareToIgnoreCase(String str): ๋ ๋ฌธ์์ด์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ์ฌ์ ์ ์ผ๋ก ๋น๊ต
- startsWith(String prefix): ๋ฌธ์์ด์ด ํน์ ์ ๋์ฌ๋ก ์์ํ๋์ง ํ์ธ
- endsWith(String suffix): ๋ฌธ์์ด์ด ํน์ ์ ๋ฏธ์ฌ๋ก ๋๋๋์ง ํ์ธ
- contains(CharSequence s): ๋ฌธ์์ด์ด ํน์ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋์ง ํ์ธ
- indexOf
- lastIndexOf
- substring(int beginIndex) / substring(int beginIndex, int endIndex)
- concat(String str)
- replace(CharSequence target, CharSequence replacement)
- replaceAll(String regex, String replacement)
- replaceFirst(String regex, String replacement)
- toLowerCase() / toUpperCase()
- trim()
- strip()
- split(String regex)
- join(CharSequence delimiter, CharSequence... elements)
-
valueOf(Object obj): ๋ค์ํ ํ์ ์ ๋ฌธ์์ด๋ก ๋ณํ
-
toCharArray(): ๋ฌธ์์ด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํ
-
format(String format, Object... args): ํ์ ๋ฌธ์์ด๊ณผ ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฌธ์์ด์ ์์ฑ
-
matches(String regex): ๋ฌธ์์ด์ด ์ฃผ์ด์ง ์ ๊ท ํํ์๊ณผ ์ผ์นํ๋์ง ํ์ธ
-
๋ถ๋ณ์ธ String ํด๋์ค์ ๋จ์ ์ ๋ฌธ์๋ฅผ ๋ํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋๋ง๋ค ๊ณ์ํด์ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค๋ ์ ์ด๋ค.
-
๋ฌธ์๋ฅผ ์์ฃผ ๋ํ๊ฑฐ๋ ๋ณ๊ฒฝํด์ผ ํ๋ ์ํฉ์ด๋ผ๋ฉด ๋ ๋ง์ String ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ , GCํด์ผ ํ๋ค.
- String ํด๋์ค ๋จ์ ํด๊ฒฐ๋ฒ. ๊ฐ๋ณ String์ด ์กด์ฌํ๋ฉด ๋๋ค.
- StringBuilder๋ append()๋ก ๋ฌธ์์ด์ ์ด์ด๋ถ์ฌ๋ ๋์ผํ StringBuilder ๊ฐ์ฒด ๋ด๋ถ์์๋ง ์์ ํ๋ค.
- String์ ๋ถ๋ณ์ด๋ผ ์ด์ด๋ถ์ผ ๋๋ง๋ค ์๋ก์ด String ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง๋ค.
- ๊ทธ๋์ StringBuilder๊ฐ ๋ฐ๋ณต์ ์ธ ๋ฌธ์์ด ์กฐ์์ ๋ ํจ์จ์ ์ด๋ค.
- toString ๋ฉ์๋๋ฅผ ์ฌ์ฉํด StringBuilder์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก String์ ์์ฑํ ์ ์๋ค.
- StringBuilder๋ ๋ณดํต ๋ฌธ์์ด์ ๋ณ๊ฒฝํ๋ ๋์๋ง ์ฌ์ฉํ๋ค๊ฐ ๋ฌธ์์ด ๋ณ๊ฒฝ์ด ๋๋๋ฉด ์์ ํ(๋ถ๋ณ) String์ผ๋ก ๋ณํํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ฐ๋ณต๋ฌธ์์ ๋ฐ๋ณตํด์ ๋ฌธ์๋ฅผ ์ฐ๊ฒฐํ ๋
- ์กฐ๊ฑด๋ฌธ์ ํตํด ๋์ ์ผ๋ก ๋ฌธ์์ด์ ์กฐํฉํ ๋
- ๋ณต์กํ ๋ฌธ์์ด์ ํน์ ๋ถ๋ถ์ ๋ณ๊ฒฝํด์ผ ํ ๋
- ๋งค์ฐ ๊ธด ๋์ฉ๋ ๋ฌธ์์ด์ ๋ค๋ฃฐ ๋
- ๋ฉ์๋ ํธ์ถ ๊ฒฐ๊ณผ๋ก ๋ฆฌํด๋ ๊ฐ์ฒด์์ ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์ด๋ค.
- ์ฃผ๋ก ๊ฐ์ ๊ฐ์ฒด(this)๋ฅผ ๋ฆฌํดํด ๋ฉ์๋๋ฅผ ์ฐ์ ํธ์ถํ ์ ์๋๋ก ๋ง๋ ๋ค.
- ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๊ณ ๊ฐ๋ ์ฑ์ด ์ข์์ง๋ค.
StringBuilder sb = new StringBuilder();
sb.append("Hello")
.append(" ")
.append("World!")
.reverse();
System.out.println(sb.toString());- append()๋ StringBuilder ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํ๊ธฐ ๋๋ฌธ์ ์ฐ์ ํธ์ถ ๊ฐ๋ฅํ๋ค.
- ํ ๊ฐ์ฒด์์ ์ฌ๋ฌ ๋ฉ์๋๋ฅผ ์ฐ์ ํธ์ถํด ์์ ์ ์ํํ๋ค.
- ๋ฉ์๋๊ฐ return this ํํ๋ก ๊ฐ์ฒด ์๊ธฐ ์์ ์ ๋ฐํํด์ผ ๊ฐ๋ฅํ๋ค.
- Setter ๋ฉ์๋๋ ๋น๋ ํจํด์์ ์์ฃผ ์ฌ์ฉ๋๋ค.
- ์ฝ๋๊ฐ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ด๋ค.
- ์ฌ๋ฌ ๋ฉ์๋๋ฅผ ์ฐ์ ํธ์ถํด ํ ๋ฒ์ ์ฌ๋ฌ ์์ ์ ์ฒ๋ฆฌํ ์ ์๋ค.
- ๋๋ฒ๊น ์ด ์ด๋ ค์ธ ์ ์๋ค.
- ๋๋ฌด ๊ธธ์ด์ง๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ์ ์๋ค.
Person person = new PersonBuilder()
.setName("Alice")
.setAge(25)
.build();- ๊ฐ์ฒด๊ฐ ์๋: ๊ฐ์ฒด๋ ์ ์ฉํ ๋ฉ์๋๋ฅผ ์ ๊ณตํ ์ ์๋๋ฐ ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๊ฐ ์๋๋ฏ๋ก ๋ฉ์๋ ์ ๊ณต X
- null ๊ฐ์ ๊ฐ์ง ์ ์์: ๊ธฐ๋ณธํ ๋ฐ์ดํฐ ํ์ ์ null ๊ฐ์ ๊ฐ์ง ์ ์๋ค. ๋๋ก๋ ๋ฐ์ดํฐ๊ฐ ์์ ์ด๋ผ๋ ์ํ๋ฅผ ๋ํ๋ด์ผ ํ ํ์๊ฐ ์๋๋ฐ, ๊ธฐ๋ณธํ์ ํญ์ ๊ฐ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ํํ์ ํ ์ ์๋ค.
- ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๋ก ๊ฐ์ธ์ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๋๋ก ๋์์ค.
| ๊ธฐ๋ณธํ | ๋ํผ ํด๋์ค |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
- ๋ถ๋ณ
- equals๋ก ๋น๊ตํด์ผ ํ๋ค.
- new Integer(10)์ ์ง์ ์ฌ์ฉ X, ์๋์ ํ์ง๋ง ํฅํ ์๋ฐ์์ ์ ๊ฑฐ๋ ์์ .
- ๋์ ์ Integer.valueOf(10)
- ๋ํผ ํด๋์ค์ ๋ค์ด์๋ ๊ธฐ๋ณธํ ๊ฐ์ ๋ค์ ๊บผ๋ด๋ ๋ฉ์๋.
- ๋ํผํด๋์ค๋ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ == ๋น๊ต๋ฅผ ํ๋ฉด ์ธ์คํด์ค์ ์ฐธ์กฐ๊ฐ์ ๋น๊ตํ๋ค.
- ๋ํผ ํด๋์ค๋ ๋ด๋ถ์ ๊ฐ์ ๋น๊ตํ๋๋ก equals()๋ฅผ ์ฌ์ ์ ํด๋์๋ค. ๋ฐ๋ผ์ ๊ฐ์ ๋น๊ตํ๋ ค๋ฉด equals()๋ฅผ ์ฌ์ฉ.
- toString()๋ ์ฌ์ ์ํ๋ค.
- ์๋ฐ ์คํ ์ธ๋ฐ์ฑ, ๋ฐ์ฑ ์ง์: ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ๋ฐ์ ๋์ valueOf, xxxValue() ๋ฑ์ ์ฝ๋ ์ถ๊ฐํด์ฃผ๋ ๊ธฐ๋ฅ.
- valueOf(): ๋ํผ ํ์ ์ ๋ฐํ. ์ซ์, ๋ฌธ์์ด์ ๋ชจ๋ ์ง์ํ๋ค.
- parseInt(): ๋ฌธ์์ด์ ๊ธฐ๋ณธํ์ผ๋ก ๋ณํ.
- compareTo(): ๋ด ๊ฐ๊ณผ ์ธ์๋ก ๋์ด์จ ๊ฐ์ ๋น๊ต. ๋ด ๊ฐ์ด ํฌ๋ฉด 1, ๊ฐ์ผ๋ฉด 0, ๋ด ๊ฐ์ด ์์ผ๋ฉด -1์ ๋ฐํ.
- ํ์ ์ ๋ณด ์ป๊ธฐ
- ๋ฆฌํ๋ ์
- ๋์ ๋ก๋ฉ๊ณผ ์์ฑ
- ์ ๋ ธํ ์ด์ ์ฒ๋ฆฌ
- class๋ ์๋ฐ์ ์์ฝ์ด์ด๋ค. ๋ฐ๋ผ์ ํจํค์ง๋ช , ๋ณ์๋ช ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
- ์ด๋ฐ ์ด์ ๋ก ์๋ฐ ๊ฐ๋ฐ์๋ค์ class ๋์ clazz๋ผ๋ ์ด๋ฆ์ ๊ดํ์ผ๋ก ์ฌ์ฉ.
- getDeclaredFields(): ํด๋์ค์ ๋ชจ๋ ํ๋๋ฅผ ์กฐํ.
- getDeclaredMethods(): ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋๋ฅผ ์กฐํ.
- getSuperclass(): ํด๋์ค์ ๋ถ๋ชจ ํด๋์ค๋ฅผ ์กฐํ.
- getInterfaces(): ํด๋์ค์ ์ธํฐํ์ด์ค๋ค์ ์กฐํ.
- ์์๋ค์ ์ฌ์ฉํ์ฌ ์ฝ๋ ๋ด์์ ๋ฏธ๋ฆฌ ์ ์๋ ๊ฐ๋ค์ ์งํฉ
- ์ด๊ฑฐํ๋ ํด๋์ค์ด๋ค.
- ์ด๊ฑฐํ์ toString()์ ์ฌ์ ์ ํ๊ธฐ ๋๋ฌธ์ ์ฐธ์กฐ๊ฐ์ ์ง์ ํ์ธํ ์ ์๋ค.
- ํ์ ์์ ์ฑ ํฅ์
- ๊ฐ๊ฒฐ์ฑ ๋ฐ ์ผ๊ด์ฑ
- ํ์ฅ์ฑ
- values(): ๋ชจ๋ ENUM ์์๋ฅผ ํฌํจํ๋ ๋ฐฐ์ด์ ๋ฐํํ๋ค
- valueOf(String name): ์ฃผ์ด์ง ์ด๋ฆ๊ณผ ์ผ์นํ๋ ENUM ์์๋ฅผ ๋ฐํํ๋ค.
- name(): ENUM ์์์ ์ด๋ฆ์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค.
- ordinal(): ENUM ์์์ ์ ์ธ ์์(0๋ถํฐ ์์)๋ฅผ ๋ฐํํ๋ค.
- toString(): ENUM ์์์ ์ด๋ฆ์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค. name() ๋ฉ์๋์ ์ ์ฌํ์ง๋ง, toString()์ ์ง์ ์ค๋ฒ๋ผ์ด๋ ํ ์ ์๋ค.
-
ordinal()์ ๊ฐ๊ธ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
- ์ด ๊ฐ์ ์ฌ์ฉํ๋ค๊ฐ ์ค๊ฐ์ ์์๋ฅผ ์ ์ธํ๋ ์์น๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ ์ฒด ์์์ ์์น๊ฐ ๋ชจ๋ ๋ณ๊ฒฝ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด๊ฑฐํ์ java.lang.Enum์ ์๋์ผ๋ก ์์ ๋ฐ๋๋ค.
- ์ด๊ฑฐํ์ ์ด๋ฏธ java.lang.Enum์ ์์ ๋ฐ์๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ๋ก ๋ค๋ฅธ ํด๋์ค๋ฅผ ์์์ ๋ฐ์ ์ ์๋ค.
- ์ด๊ฑฐํ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ์ ์๋ค.
- ์ด๊ฑฐํ์ ์ถ์ ๋ฉ์๋๋ฅผ ์ ์ธํ๊ณ , ๊ตฌํํ ์ ์๋ค.
- ์ด๊ฑฐํ์ ์์๋ก ์ง์ ํ๋ ๊ฒ ์ธ์ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ์์ฑ์์ ์ ๊ทผ์ ์ด์๋ฅผ ์ ์ธํ ์ ์๊ฒ ๋งํ์๋ค. private์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.