- 컴파일러가 자동 형변환.
- 범위가 더 작은 타입의 값을 범위가 더 큰 타입의 변수에 저장 가능.
- 값손실이 일어나는 경우 자동 형변환이 일어나지 않음.
byte b = 100; // OK. byte타입의 범위(-128~127)의 값을 대입
int i = (int)3.14f // OK.
byte b = (byte)1000; // OK. but, 값손실로 인해 1000 대신 -24 저장.
int i = 100;
byte b = (byte)i; // OK.
int i = 3.14f; // 에러. 값손실 발생하므로 자동형변환 일어나지 않음.
byte b = 1000; // 에러. 범위를 벗어남.
int i = 100;
byte b = i; // 에러. 리터럴이 아닌 변수에 든 값은 예측할 수 없기 때문에 byte형식보다 더 큰 타입은 들어오지 못함.
.