๊ธฐ๋ณธ ์๋ฃํ์ ๊ฐ์ฒด ํ์ ์ ์๋ฃํ์ผ๋ก ๋ณํ์ด ํ์ํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
-
์ฌ์ฉ ์ฉ๋
- ๊ฐ์ฒด๋ก ์ ์ฅํด์ผ ํ ๊ฒฝ์ฐ
- ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ฒด๊ฐ ์๊ตฌ๋ ๊ฒฝ์ฐ(ex. ์ ๋ค๋ฆญ, Collection์ ํ์ )
- ๊ฐ์ฒด ๊ฐ์ ๋น๊ต๊ฐ ํ์ํ ๊ฒฝ์ฐ
- ์ ๋ค๋ฆญ์ด๋ ์ปฌ๋ ์ ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๊ธฐ๋ณธํ์ ์ธ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ Wrappingํ ํํ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
-
ํน์ง
- ์ฐ์ ์ฐ์ฐ์ ์ํ ํด๋์ค๊ฐ ์๋๊ธฐ ๋๋ฌธ์
Immutable
ํ๋ค.(๋ถ๋ณ) - ๋ถ๋ณ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ํ ๋ณ๊ฒฝ์ ๋ถ๊ฐ๋ฅํ๊ณ ์๋ก์ด ๊ฐ(๊ฐ์ฒด)์ ํ ๋น์ด๋ ์ฐธ์กฐ๋ง ๊ฐ๋ฅํ๋ค.
- Boxing : ๊ธฐ๋ณธ ์๋ฃํ -> Wrapper Class
- UnBoxing : Wrapper Class -> ๊ธฐ๋ณธ ์๋ฃํ
- JDK 1.5๋ถํฐ ์คํ ๋ฐ์ฑ, ์คํ ์ธ๋ฐ์ฑ์ ์ง์ํ๋ค.
- ์ธ๋ฐ์ฑ ์ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ ๋ค์๊ณผ ๊ฐ์ ํํ๋ฅผ ๊ฐ๋๋ค.
- intValue : ๊ฐ์ฒด -> int ๊ฐ์ผ๋ก ๋ณํ.
- ์ฐ์ ์ฐ์ฐ์ ์ํ ํด๋์ค๊ฐ ์๋๊ธฐ ๋๋ฌธ์
๋ฌธ์๋ฅผ ์ซ์๋ก ๋ฐ๊พธ๊ฑฐ๋, ์ซ์๋ฅผ ๋ฌธ์๋ก ๋ฐ๊ฟ ๋ ๋ ๊ฐ์ง ๋ฐฉ์์ ์ฐจ์ด์ ์ด ์กด์ฌํ๋ค.
[Code]
// ๋ฌธ์์ด -> ๊ธฐ๋ณธํ
int number1 = Integer.parseInt("100");
// ๋ฌธ์์ด -> wrapper class
Integer number2 = Integer.valueOf("100");
์์์ ์ธ๊ธํ๋ฏ์ด, JDK 1.5๋ถํฐ ์คํ ๋ฐ์ฑ๊ณผ ์คํ ์ธ๋ฐ์ฑ์ด ์ง์๋๊ธฐ ๋๋ฌธ์ ๋ฐํ๊ฐ์ด ๊ธฐ๋ณธํ์ด๋ , wrapper class์ด๋ ์ฐจ์ด๊ฐ ์์ด์ก๋ค. ๊ทธ๋์ ๊ตณ์ด ๊ตฌ๋ณํ์ง ์๊ณ valueOf()
๋ฅผ ์ฌ์ฉํด๋ ๋๋ค.
๋จ, ์ฑ๋ฅ์ ๋น๊ตํ๋ฉด valueOf()๊ฐ ์กฐ๊ธ ๋ ๋๋ฆฌ๋ค๊ณ ํ๋ค.