명시적 형변환
큰 데이터 타입 → 작은 데이터 타입
데이터 손실이 발생할 수 있다.
double형의 소숫점을 제거하기 위해 int형으로 다운 캐스팅하는 경우도 있다.
public class ExampleEx01 {
private static double calc(double gasonline, double distance) {
// xx.013123124123412 -> 뒤에 지저분한 소수점을 날리기 위한 다운 캐스팅
int e = **(int)**(distance / gasonline);
return e; // xx.0으로 반환
}
public static void main(String[] args) {
double gasoline = 8.86;
double distance = 182.736;
double effciency = calc(gasoline, distance);
System.out.println("연비 : " + effciency + "km/L");
}
}
묵시적 형변환
작은 데이터 타입 → 큰 데이터 타입
int n1 = 10;
double n2 = n1; // 10.0
연산 시 서로 다른 데이터 타입이면 크기가 큰 타입을 따른다.
int n1 = 10;
double n2 = 2.0
System.out.println(n1 / n2); // 5.0