한 가지 상황을 더 생각해보겠습니다. 사실 long 컵 안에는 물이 가득 차 있지 않았습니다. 굉장히 조금 들어있었어요. int 컵 안에 옮겨 담아도 문제가 없을 정도로 적은 양이었습니다. 그렇다면 큰 컵보다 작은 컵에 담는 것이 효율적이겠죠? 이럴 경우에는 어떻게 담아야 하는지 자바 코드를 통해 확인하겠습니다.
TypeCastingExam 클래스를 만들어 int형 변수 x를 선언하고, x에 50000이라는 값을 넣습니다. 다음으로 int보다 더 큰 자료형인 long형 변수 y를 선언하고, y에 x의 값, 즉 작은 컵에 들어있는 물을 담아보겠습니다.
public class TypeCastingExam { public static void main(String[] args) { int x = 50000; long y = x; System.out.println(y); } }
실행결과
50000
x에 들어있는 물을 y에 담으라는 코드를 작성했지만, 컴파일러는 오류를 보여주지 않습니다. 작은 컵에서 큰 컵으로 물을 담을 때, 즉 작은 자료형의 값을 큰 자료형에 넣을 때는 자연스럽게 형변환이 일어납니다. 이런 경우를 묵시적(암묵적) 형변환이라고 합니다.