다운 캐스팅 & 업 캐스팅

FE.1·2023년 11월 6일
0
post-thumbnail

다운 캐스팅

  • 명시적 형변환

  • 큰 데이터 타입 → 작은 데이터 타입

  • 데이터 손실이 발생할 수 있다.

  • 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
profile
공부하자!

0개의 댓글