main(String[] args) {
num1 = 12;
num2 = 12.3F;
Main {
result = num1 + num2; System.out.println(result);
}
}
실행결과 |
24.3 |
아무 문제없이 실행되고 결과도 실수 값이 잘 나옵니다. 이 경우 int형인 num1 변수의 값이 자동으로 float형으로 형변환이 일어나서 그렇습니다. 이처럼 바꿀 자료형을 명시하지 않아도 값의 범위를 파악해 자동으로 자료형이 바뀌는 것을 자동 형변환 또는 묵시적 형변환이라고 합니다. 묵시적 형변환은 자바 컴파일러에서 자동으로 수행하며 값이 최대한 손실되지 않게 이뤄집니다.
묵시적 형변환은 범위가 작은 자료형에서 범위가 큰 자료형으로의 변환만 허용합니다. 반대로 범위가 큰 자료형에서 범위가 작은 자료형으로 변환할 때는 반드시 명시적 형변환을 해줘야 합니다.