자동 타입 변환, 즉 Promotion은 값이 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 대입될 때 발생함

 

기본 타입을 허용 범위 순으로 나열

정수 타입이 실수 타입으로 대입될 경우, 무조건 자동 타입 변환됨(실수 타입은 정수 타입보다 허용 범위가 더 크기 때문)

byte < short, char< int < long < float < double

 

char 타입의 경우 int 타입으로 자동 변환되면 유니코드 값이 int 타입에 대입됨

char charValue = 'A';
int intValue = charValue; // 65 저장됨

 

byte -> char는 자동 변환 될 수 없다

char 타입의 허용 범위는 음수를 포함하지 않는데, byte 타입은 음수를 포함하기 때문

byte byteValue = 65;
char charValue = byteValue; // 컴파일 에러

 

 

반응형

+ Recent posts