1) int๋ ๋ฌด์์ธ๊ฐ? (primitive type)
int๋ ๋ณ์์ ํ์ (data type)์ด๋ค.
๋ณ์(variable)๋ '๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ ๊ณต๊ฐ'์ ์๋ฏธ ํฉ๋๋ค.
int a = 3;
char firstName = "H";
์์ a ๋ H ๋ ๋ณ์(๋ณ์๋ช )๊ฐ ๋๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ ์ ํ int ์ char๊ฐ ๋ณ์์ ํ์ ์ง์ ํด์ฃผ๊ณ ์๋ ๊ฒ์ด,
๋ณ์์ ํ์
( = data type = ์๋ฃํ ) ์ด๋ผ ํฉ๋๋ค.
์ฆ, ์๋ฃํ์ 'data์ type์ ๋ฐ๋ผ ๊ฐ์ด ์ ์ฅ๋ ๊ณต๊ฐ์ ํฌ๊ธฐ์ ์ ์ฅ ํ์์ ์ ์ํ ๊ฒ' ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ด๋ฌํ ์๋ฃํ์ ๊ธฐ๋ณธํ(primitive type)๊ณผ ์ฐธ์กฐํ(referece type)์ผ๋ก ๋๋๋๋ฐ,
int ๋ ์ด ์ค ๊ธฐ๋ณธํ์ ์ํฉ๋๋ค.
๊ธฐ๋ณธํ์๋ ๋ค์๊ณผ ๊ฐ์ ์ข ๋ฅ๊ฐ ์์ต๋๋ค.
2) ๊ทธ๋ ๋ค๋ฉด Integer๋ ๋ฌด์์ธ๊ฐ? (wrapper class)
๋งจ๋ ์ฐ๋ Integer์ธ๋ฐ.... ์ด๋์ ์ป๋๋ผ..? ํ๊ณ ์๊ฐํด๋ณด๋ฉด ์ฃผ๋ก
ArrayList<Integer> intList = new ArrayList<Integer>(); intList.add(1); intList.add(2); System.out.println(intList.get(0));
String stringNum = "123"; int intNum = Integer.parseInt(stringNum); System.out.println(intNum);
์ด๋ฐ ๊ฒฝ์ฐ์ ๋ง์ด ์ฐ๊ฑฐ๋ ๋ดค์๊ธฐ์, 'int๋ ๋ญ ์ฌ์ด... ๊ทธ๋ฐ๊ฑฐ์๋์ผ?' ์ ๋ ๋ก๋ง ์๊ฐํ๊ณค ๋ณ ์์ฌ์์ด ์ฌ์ฉํ๊ณค ํ์์ต๋๋ค..
**
๋ค์ ๋ณธ๋ก ์ผ๋ก ๊ฐ์.. Integer๋ ๋ฌด์์ธ๊ฐ ํ๋ฉด,
1)์์ ๋ค๋ฃฌ ๊ธฐ๋ณธํ์ ํํํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
- ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ฒด๋ฅผ ํ์๋ก ํ ๋
- ๊ธฐ๋ณธํ ๊ฐ์ด ์๋ ๊ฐ์ฒด๋ก ์ ์ฅํด์ผํ ๋
- ๊ฐ์ฒด ๊ฐ ๋น๊ต๊ฐ ํ์ํ ๋
์ด๋ฐ ๊ฒฝ์ฐ ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๋ก ๋ค๋ฃจ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํด๋์ค๋ค์ ๋ํผ ํด๋์ค(wrapper class)๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ Integer๋ int์ ๋ ํผํด๋ ์ค ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๋ชจ๋ ๊ธฐ๋ณธํ์ ๋ํผํด๋์ค๋ฅผ ์์ฑํ ์ ์๊ณ , ์ด๋ ์๋์ ๊ฐ์ต๋๋ค
3) ๊ทธ๋์ int์ Integer๋ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฑฐ์ง?
int : ์๋ฃํ(primitive type)
- ์ฐ์ ์ฐ์ฐ ๊ฐ๋ฅํจ
- null๋ก ์ด๊ธฐํ ๋ถ๊ฐ
Integer : ๋ํผ ํด๋์ค (Wrapper class)
- Unboxingํ์ง ์์ ์ ์ฐ์ ์ฐ์ฐ ๋ถ๊ฐ๋ฅํจ
- null๊ฐ ์ฒ๋ฆฌ ๊ฐ๋ฅ
**
boxing : primitive type -> wrapper class ๋ณํ ( int to Integer )
unboxing : wrapper class -> primitive type ๋ณํ ( Integer to int )
์ผ๋ก ์ ๋ฆฌํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
'๐ฉ๐ปโ๐ป JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[java]Deep copy์ Shallow copy (0) | 2022.07.22 |
---|
๋๊ธ