형변환에 대하여

u·2022년 3월 30일

Java

목록 보기
8/11

데이터 타입 형변환?

프로그램 언어에는 여러가지 데이터 타입이 존재한다. 이 때 각 데이터 타입에 사용되는 메모리 용량은 상이하다. 보통의 경우에는 같은 타입끼리 연산을 진행하지만 프로그래밍을 하다보면 서로 다른 타입을 연산해야할 때가 있다. (ex : (int) + (double)). 이때 어떻게 컴퓨터가 이것을 계산하는지 알아보자.

자동 형변환 (Promotion)

메모리양이 작은 데이터를 큰 데이터 타입으로 변환할 때 일어난다.

강제 형변환 (Casting)

메모리가 큰 데이터 타입을 작은 데이터 타입으로 변환할려고 할 때는 변수명 옆에 변환할 타입을 명시해줘서 강제적으로 형변환 하는 것을 말한다.

형변환의 원리

small to big

ex1) int -> byte (큰 -> 작)

int는 4byte로 32bit로 이루어져 있다.
byte는 1byte 8bit로 이루어져 있다.
int 타입 변수의 메모리 (3 + 1)byte에서 3인 부분이 삭제돼서 byte 타입 변수에 들어가게 되는 것이다. 즉 1인 부분만 byte에 할당되는 것이다.

big to small

위에서와 반대로 byte에서 int로 간다고 치면 앞에 3byte(0000 0000 0000)가 붙어서 int 변수에 할당되는 것이다

기본 데이터 타입의 메모리용량




출처 :
https://stage-loving-developers.tistory.com/8
http://www.tcpschool.com/java/java_datatype_basic

0개의 댓글