Java 묵시적 형 변환

개발자가 직접 형 변환을 하지 않아도 묵시적(자동) 변환을 해준다.
큰 수 에서 작은 수의 타입을 변경할 때 사용해야 한다.

int형 변수가 double 형 변수로 변환할 수 있다.
변환된 double 변수는 실수 형을 담을 수 있게 해준다.

형 변환에도 종류가 있으며 두 종류가 있다.

타입의 크기가 작은 순부터 큰 수

  • int < long < double

변환하려는 타입이 현재 값보다 크기가 작은 경우

  • 소숫점 버림
  • 오버플로우

형 변환 종류

  • 자동 형 변환
  • 묵시적 형 변환

Java 코드

int integerValue;
long longValue;
double doubleValue;

integerValue = 100;
System.out.println("inteerValue = " + integerValue);
longValue = integerValue;
System.out.println("longValue = " + longValue);
doubleValue = 2000L;
System.out.println("doubleValue = " + doubleValue);

출력결과:

inteerValue = 100
longValue = 100
doubleValue = 2000.0

자동 형 변환

작은 숫자에서 큰 숫자의 타입으로 개발자가 직접 형 변환을 하지 않아도 묵시적(강제) 변환을 해준다.

개발자가 자동 형 변환이 필요하다면 (double), (long) 괄호로 감싸서 할당해주도록 한다.

integerValue = 100;
doubleValue = (double) integerValue; // int형 변수를 강제로 double 변경하여 할당
System.out.println("doubleValue = " + doubleValue);
doubleValue = (double) 100L; // Long 타입의 리터럴 값을 강제로 double 변경하여 할당
System.out.println("doubleValue = " + doubleValue);
doubleValue = 100.0;
System.out.println("doubleValue = " + doubleValue);