Public/프로그래밍
[JAVA] 자바의 형변환 : 자동 형변환과 강제 형변환
트레비스
2020. 8. 22. 22:00
[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;