๊ธฐ๋ณธํ vs ์ฐธ์กฐํ
- ๊ธฐ๋ณธํ : ์ค์ง 8๊ฐ(boolean, char, byte, short, int, long, float, double)
- ์ค์ ๊ฐ์ ์ ์ฅ
- ๊ธฐ๋ณธํ ๋งค๊ฐ๋ณ์ - ๊ฐ์ ์ฝ๊ธฐ๋ง ํ ์ ์๋ค.
- ์ฐธ์กฐํ : ๊ธฐ๋ณธํ์ ์ ์ธํ ๋๋จธ์ง(String, System ๋ฑ)
- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅ
- ์ฐธ์กฐํ ๋งค๊ฐ๋ณ์ - ์ฝ๊ณ ๋ณ๊ฒฝํ ์ ์๋ค. (์ฃผ์๋ฅผ ์ ๋ฌ ๋ฐ์ผ๋๊น)
๋ํผ(wrapper) ํด๋์ค
๊ธฐ๋ณธํ๊ฐ์ ๊ฐ์ธ๋ ํด๋์ค. 8๊ฐ์ ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๋ก ๋ค๋ค์ผํ ๋ ์ฌ์ฉํ๋ ํด๋์ค.
๐ Boolean, Character, Byte, Short, Integer, Long, Float, Double
Java๋ 90% ๊ฐ์ฒด์งํฅ ์ธ์ด๋ก ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ฑ๋ฅ๋๋ฌธ์ ๊ธฐ๋ณธํ์ด ํ์ํ๋ค. ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํฌ ๋ ๊ฐ์ฒด๊ฐ ์๋ ๊ธฐ๋ณธํ์ด๋ฉด ์ฃผ์๊ฐ์ ๋ฐ๋ก ์ฐพ์ ์ ์์ผ๋๊น.
equals, compareTo, toString, ๋ฑ ์์๊ฐ์ ๊ฐ๊ณ ์๋ค.
์์
- ๋ํผ ํด๋์ค Integer → int ๋ก ๋ณํํ๋ ค๋ฉด intValue()
- ๋ํผ ํด๋์ค Long → long ๋ก ๋ณํํ๋ ค๋ฉด longvalue()
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(100));
int i = list.get(0).intValue();
- ๋ฌธ์์ด → ๊ธฐ๋ณธํ : parseInt, valueOf("")
- ๋ฌธ์์ด → ๋ํผ ํด๋์ค : valueOf(""), new Integer(""), new Byte("")
- ๋ํผ ํด๋์ค → ๋ฌธ์์ด : toString()
์คํ ๋ฐ์ฑ & ์ธ๋ฐ์ฑ
ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ์๋์ผ๋ก ์ปดํ์ผ๋ฌ๊ฐ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ ๊ฒ
- int → integer : ์๋์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ์คํ ๋ฐ์ฑ
- integer → int : ์๋์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ์ธ๋ฐ์ฑ
boxing : ๋ํผํด๋์ค๋ก ๊ฐ์ธ๋ ๊ฒ
JDK 1.5 ์ด์ ์๋ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ๊ฐ์ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ์๋ค. 1.5 ์ดํ์๋ OK.
์ปดํ์ผ๋ฌ๊ฐ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ณํํด์ฃผ๋ ๊ฒ ๋ฟ.
์์์ ์ดํด๋ดค๋ ์ฝ๋๋ฅผ ์คํ ๋ฐ์ฑ์ ์ด์ฉํ๋ฉด ์๋์ ๊ฐ์ด ๋๋ค.
๋ฐ๋ผ์ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋ณํํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ ๋๋ int์ Integer๊ตฌ๋ถ ์์ด ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
ArrayList<Integer> list = new ArrayList<Integer>(); // ์ง๋ค๋ฆญ์ค
//list.add(new Integer(100)); // list์๋ ๊ฐ์ฒด๋ง ์ถ๊ฐ ๊ฐ๋ฅ
list.add(100); // JDK1.5์ด์ ์๋ ์๋ฌ.
//int i = list.get(0).intValue();
int i = list.get(0); // intValue()๋ก Integer๋ฅผ int๋ก ๋ณํ
์ ๋ฆฌ
int๋ ๊ธฐ๋ณธํ์ด๊ณ , Interger๋ ๊ธฐ๋ณธํ์ ์ฐธ์กฐํ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ๋ํผ ํด๋์ค๋ก
๊ฒฐ๊ตญ, int์ Integer์ ์ฐจ์ด๋ ๊ธฐ๋ณธํ, ์ฐธ์กฐํ์ ์ฐจ์ด๋ค.
๊ทธ๋ง์ ๋ JDK1.5์ดํ๋ก ์คํ ๋ฐ์ฑ, ์ธ๋ฐ์ฑ์ด ์ง์๋์ด ์ฌ์ฉํ ๋๋ ๊ฑฐ์ ๊ตฌ๋ถ ์์ด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
ํ์ง๋ง ์๋ฌด๋ฆฌ ์ปดํ์ผ๋ฌ๊ฐ ์ง์ํ๋ค ํด๋ ์ฐจ์ด์ ์ ์๊ณ ์๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค.
์ฐธ๊ณ
'๐ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์๋ฐ ๊ฐ์ ๋จธ์ (Java Virtual Machine) (0) | 2021.07.28 |
---|---|
[Java] Primitive type vs Reference type (0) | 2021.04.18 |
[Java] HashMap, LinkedHashMap, TreeMap, Hashtable ์ฐจ์ด (0) | 2021.04.03 |
[Java] ==, equals, instanceof (0) | 2020.09.09 |
[Java] finalize ๋ฉ์๋ (0) | 2020.09.08 |
๋๊ธ