๊ธฐ๋ณธํ(Primitive type)
- ์ด 8๊ฐ์ง์ ๊ธฐ๋ณธํ ํ์ (Primitive type)์ ๋ฏธ๋ฆฌ ์ ์ํ์ฌ ์ ๊ณตํ๋ค.
- ๋น๊ฐ์ฒด, Null์ด ์กด์ฌํ์ง ์์
- ์ค์ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ์ผ๋ก ์คํ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
- ๋ฌธ๋ฒ์ ์๋ฌ → ์ปดํ์ผ ์๋ฌ ๋ฐ์
|
ํ์ |
ํ ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ |
๊ธฐ๋ณธ๊ฐ |
๋ฐ์ดํฐ์ ํํ ๋ฒ์ | ||
๋ ผ๋ฆฌํ |
boolean |
1 byte |
false |
true, false |
||
์ ์ํ |
byte |
1 byte |
0 |
-128 ~ 127 |
||
short |
2 byte |
0 |
-32,768 ~ 32,767 |
|||
int(๊ธฐ๋ณธ) |
4 byte |
0 |
-2,147,483,648 ~ 2,147,483,647 |
|||
long |
8 byte |
0L |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
|||
์ค์ํ |
float |
4 byte |
0.0F |
(3.4 X 10-38) ~ (3.4 X 1038) ์ ๊ทผ์ฌ๊ฐ |
||
double(๊ธฐ๋ณธ) |
8 byte |
0.0 | (1.7 X 10-308) ~ (1.7 X 10308) ์ ๊ทผ์ฌ๊ฐ | |||
๋ฌธ์ํ |
char |
2 byte (์ ๋์ฝ๋) |
'\u0000' |
0 ~ 65,535 |
์ฐธ์กฐํ(Reference type)
- ๊ธฐ๋ณธํ ํ์ ์ ์ ์ธํ ํ์ ์ ๋ชจ๋ ์ฐธ์กฐํ ํ์
- ๊ฐ์ฒดํ, Null์กด์ฌ
- ๊ฐ์ด ์ ์ฅ๋์ด ์๋ ๊ณณ์ ์ฃผ์๊ฐ์ ์คํ์, ์ค์ ๊ฐ์ ํ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
- ์คํ์์ผฐ์ ๋ ์๋ฌ๊ฐ ๋๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์
- ex) NullPointException
ํ์ |
์์ |
๊ธฐ๋ณธ๊ฐ |
ํ ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ |
๋ฐฐ์ด(Array) |
int[] arr = new int[5]; |
Null |
4 byte (๊ฐ์ฒด์ ์ฃผ์๊ฐ) |
์ด๊ฑฐ(Enumeration) |
|
Null | |
ํด๋์ค(Class) |
String str = "test"; Student sujin = new Student(); |
Null | |
์ธํฐํ์ด์ค(Interface) |
|
Null |
Wrapper Class
๊ธฐ๋ณธํ์ Null์ ๋ฃ๊ณ ์ถ๋ค๋ฉด ๋ํผ ํด๋์ค(Wrapper Class)๋ฅผ ํ์ฉํ์ฌ ์ฐธ์กฐํ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ํผ ํด๋์ค๋ ๊ธฐ๋ณธํ์ ํด๋์ค๋ก ๊ฐ์ผ ํํ์ ๋๋ค.
๊ธฐ๋ณธํ | ๋์ ๋ํผ ํด๋์ค |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Char |
boolean | Boolean |
๊ธฐ๋ณธํ, ์ฐธ์กฐํ ๊ฐ ๋ณํํ ๋, ๊ธฐ๋ณธํ์์ Wrapper Class๋ฅผ ํ์ฉํด์ ์ฐธ์กฐํ์ผ๋ก ๋ฐ๊พธ๋ ํํ๋ฅผ Boxing, ๊ทธ ๋ฐ๋๋ฅผ Unboxing์ด๋ผ๊ณ ํ๋ค.
- Boxing : ๊ธฐ๋ณธํ → (Wrapper Class) ์ฐธ์กฐํ
- Unboxing : ์ฐธ์กฐํ (Wrapper ํด๋์ค) → ๊ธฐ๋ณธํ
์ผ๋ฐ์ ์ผ๋ก ์๋์ ์ผ๋ก ์ผ์ด๋ AutoBoxing, AutoUnBoxing ์ด๋ผ๊ณ ํ๋ค.
ํน์ง
์ ์ฐธ์กฐํ์ด ํ์ํ ๊น?
- Null์ ๋ด์ ์ ์๋ค.
- ์ ๋ค๋ฆญ ํ์ ์์ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด, ์์ ํ์ ์ ์ฅ์ ์?
- ์ ๊ทผ ์๋
์์ ํ์
์ '์คํ' ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ด ์กด์ฌํ๋ค.
๋ฐ๋ฉด ์ฐธ์กฐ ํ์
์ ํ๋์ ์ธ์คํด์ค์ด๊ธฐ ๋๋ฌธ์ '์คํ' ๋ฉ๋ชจ๋ฆฌ์๋ ์ฐธ์กฐ๊ฐ๋ง ์๊ณ , ์ค์ ๊ฐ์ ํ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ ํ์๋ก ํ ๋๋ง๋ค ์ธ๋ฐ์ฑ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ ์์ ํ์
๊ณผ ๋น๊ตํด์ ์ ๊ทผ ์๋๊ฐ ๋๋ ค์ง๊ฒ ๋๋ค.
(์์ธ์ ์ผ๋ก ์์ฒญ ํฐ ์ซ์๋ฅผ ๋ณต์ฌํด์ผ ํ๋ค๋ฉด, ์ฐธ์กฐ๊ฐ๋ง ๋๊ธธ ์ ์๋ ์ฐธ์กฐ ํ์
์ด ์ข์ ์ ์๋ค.)
- ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ ์
์์ํ์ ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ | ์ฐธ์กฐํ์ ์ด ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ |
boolean - 1bit | Boolean – 128 bits |
byte - 8bits | Byte - 128bits |
short, cagr - 16bits | Short, Charater - 128bits |
int, float - 32bits | Integer, Float - 128bits |
long, double - 64bits | Long, Double - 196bits |
๊ฒฐ๋ก
์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ์ฅ์ ์ด ์๋ ์์ ํ์ ์ ๋จผ์ ๊ณ ๋ คํ๋ค. ๋ง์ฝ Null์ ๋ค๋ค์ผ ํ๊ฑฐ๋, ์ ๋ค๋ฆญ ํ์ ์์ ์ฌ์ฉ๋์ด์ผ ํ๋ค๋ฉด ์ฐธ์กฐ ํ์ ์ ์ฌ์ฉํ๋ค.
์ฐธ์กฐ
'๐ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์ ๋ค๋ฆญ(Generic) (0) | 2021.07.28 |
---|---|
[Java] ์๋ฐ ๊ฐ์ ๋จธ์ (Java Virtual Machine) (0) | 2021.07.28 |
[Java] HashMap, LinkedHashMap, TreeMap, Hashtable ์ฐจ์ด (0) | 2021.04.03 |
[Java] ==, equals, instanceof (0) | 2020.09.09 |
[Java] int ์ Integer ์ฐจ์ด์ (0) | 2020.09.08 |
๋๊ธ