형변환이란?
- 형변환(타입변환): 데이터 타입을 다른 데이터 타입으로 변환하는 것
- 자동(묵시적) 타입변환(promotion)과 강제(명시적) 타입변환(casting)이 있음
- promotion은 주로 메모리 크기가 작은 타입에서 큰 타입에 저장될 때 발생
- byte < short, char < int < long < float < double
- 자동 타입변환시 값이 변경되는 것이 아닌 값이 복사되므로 값의 손실이
발생하지 않음
// promotion ex)
double a = 3.0F; // float형 => double형 (promotion)
강제(명시적)타입변환 - casting
- casting은 주로 메모리 크기가 큰 타입에서 작은 타입에 저장될 때 발생
- casting은 promotion과 달리 캐스팅 연산자를 사용
- 작은 메모리 크기 타입 = (작은 메모리 크기 타입) 큰 메모리 크기 타입
- 값의 손실이 발생, 원래 값이 보존되지 않음
- 실수 타입을 정수 타입으로 casting시 소수점 이하는 버려짐
// casting ex)
int a = 1200;
byte b = (byte)a; // casting
Leave a comment