Casting ์ด๋?
์๋ฃํ์์ ๋ค๋ฅธ ์๋ฃํ์ผ๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ Casting(ํ๋ณํ)์ด๋ผ๊ณ ํ๋ค.
3. ์๋ฃํ ํฌ์คํธ์์ ํ์ธํ ์ ์๋ฏ์ด ๊ฐ ์๋ฃํ์ ๋ณ์๋ฅผ ์ ์ธํ ๋, ์๋ฃํ ํฌ๊ธฐ ๋งํผ ๊ณต๊ฐ์ ๊ฐ์ง๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ณต๊ฐ์ ๊ฐ์ ๋ฃ์์ผ๋ก์จ ํ ๋น์ด ๋๋๋ฐ Casting๋ ๊ฐ์ ์๋ฆฌ์ด๋ค.
long a - [size = 8], int b - [size = 4] ์ด๋ฏธ a์ b๋ฅผ ์ ์ธํ๋ ์๊ฐ๋ถํฐ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์๋ ์ ๊ณต๊ฐ์ด ํ ๋น์ด ๋๋ค.
์ด ๋, b์ ์๋ ๋ฐ์ดํฐ๋ฅผ a์ ๋ฃ์ด๋ดค์ 8๊ฐ์ size ์ค 4๊ฐ์ size๋ง ์ฌ์ฉํ๋ฏ๋ก ์๋ฌด ๋ฌธ์ ๊ฐ ์๋ค.
์ด๋ฐ ์๋ฆฌ ๋๋ฌธ์ Casting์ด ๋๋ ๊ฒ์ด๋ค.
์์ Data type ์์ ํฐ Data type๋ง?
์ ์์๋ง ๋ณด๋ฉด ํฌ๊ธฐ๊ฐ ๋ ์์ ์๋ฃํ์์ ๋ ํฐ ์๋ฃํ์ผ๋ก ๋์ ํ ๋๋ง Casting์ด ๋๋ ๊ฒ์ด๋๊ณ ์๊ฐํ ์ ์๋ค.
์ ๊ฒ์ ๋น์ฐํ ๊ณผ์ ์ด๋ผ ์๋์ผ๋ก ์ํ๋๋ค๊ณ ํด์ ์๋ ํ๋ณํ์ด๋ผ๊ณ ํ๊ณ ๋ฌต์์ ํ๋ณํ์ด๋ผ๊ณ ๋ ํ๋ค. ์์ด๋ก๋ UpCasting ์ด๋ผ๊ณ ํ๋ค. ๋ ์ปค์ก์ผ๋ฏ๋ก
ํ์ง๋ง, ํฐ Data Type์์๋ ์์ Data Type์ผ๋ก ํ๋ณํ์ ํ ์ ์๋๋ฐ ์ด๊ฒ์ DownCasting ์ด๋ผ๊ณ ํ๊ณ ๊ฐ์ ํ๋ณํ, ๋ช ์์ ํ๋ณํ์ด๋ผ๊ณ ํ๋ค. ๋ช ์์ ํ๋ณํ์ด๋ผ๊ณ ํ๋ ์ด์ ๋ ๋ฐ๊พผ๋ค๊ณ ๋ช ์ํด์ค์ผ ํ๋ค.
long a = Integer.MAX_VALUE;
int b = (int) a;
์ฝ๋์ ๊ฐ์ด ์ด๋ค ์๋ฃํ์ผ๋ก ๋ฐ๊ฟ ๊ฒ์ธ์ง ๋ช ์ํด์ผ ํ๋ค. ๋ค๋ง ์์ Data Type์ ๊ฒฝ์ฐ, ํ๊ณ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ OverFlow๊ฐ ๋ฐ์ํ๋ค. OverFlow๋ ์์ DataType์ ๊ฐ์ฅ ์์ ๊ฐ๋ถํฐ ์ด๊ณผ๋ ๊ฐ๊น์ง ์ฑ์์ง๋๋ฐ ์ด ๊ณผ์ ์ ์๊ฐ ์กฐ์ฐจ๋ ํ๋ฉด ์๋๋ค.
๊ทธ๋ฅ OverFlow ์์ฒด๊ฐ ๋ฌธ์ ์ด๋ฏ๋ก ๋ช ์์ ํ๋ณํ์ ํ ๋๋ ์ ํ์ ํ์คํ๊ฒ ์๊ฐํด๋์.
'JAVA > ๊ธฐ๋ณธ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4. ์ /์ถ๋ ฅ (Input/Output, I/O) (0) | 2024.02.24 |
---|---|
9. ๋ฐ๋ณต๋ฌธ - while ๋ฌธ, do while ๋ฌธ (1) | 2024.02.10 |
8. ๋ฐ๋ณต๋ฌธ - for ๋ฌธ (1) | 2024.02.10 |
7. ๋ค์ฐจ์ ๋ฐฐ์ด (Multi Dimensional Array) (1) | 2024.02.10 |
6. ๋ฐฐ์ด (Array) (1) | 2024.02.10 |