[JAVA] 자바의 형변환 : 자동 형변환과 강제 형변환

프로그래밍 중 데이터를 다루는데있어 메모리 또는 사용되어지는 형태 등에 따라 형변환이 일어난다.

이때 자동으로 형변환이 일어나는 경우를 자동형변환 이라고 하며, 강제로 변환을 시키는 경우를 강제 형변환이라고 한다.

자바의 형변환에 대해 조금 더 자세히 알아보자.

 

자동형변환과 강제형변환
자바의 형변환 : 자동형변환과 강제형변환

 

자바의 형변환

 

1. 자동형변환 

 

- 작은 자료형에서 큰 자료형으로 이동할때 자동으로 형변환을 시켜준다.

 

byte a = 10;
int b = a;

 

2. 강제형변환 

 

- 큰자료형에서 작은 자료형으로 이동할때 오류가 발생하는데 오류가 발생하지 않도록 강제적으로 형변환을 해주는 것

 

int a = 128;
byte b = a; //==> 에러발생

byte b = (byte)a;  //==> 강제 형변환 

 

127 + 1 로 계산됨 --> 따라서 -128이 나옴 

 

정수보다는 실수가 더 큰 자료형이다.

 

=> byte 크기만 크다고 작은 자료형 혹은 큰 자료형을 구분하는 것이 아니다.

 

int <long<float<double 

정수<실수 

 

int a = 10;
float c = a;
long d = (long)c;

byte a = 10;
char b = a;     //-------> 에러 -> 음수가 올 수 도 있으므로 캐스팅 해주어야함 

char b = (char)a;

short c = b;  //---- > 에러 -> b는 char형 이므로 표현할 수 있는 양수범위가 더 크므로  

short c = (short)b;   

byte a = -10;
char b=(char)a;
short c = (short)b;

+ Recent posts