ETC

downcasting

Xenrose 2024. 10. 11. 23:41

downcasting 이란?

  • 상위 클래스 타입의 객체를 하위 클래스 타입으로 변환하는 것
    ex) 부모클래스 => 자식클래스

=> 이렇게하면 하위 클래스에 속한 메소드나 인스턴스에 접근 가능
단, 실제 객체가 downcast 하려는 타입과 호환되지 않을 경우 런타임 오류 발생

데이터 처리에서의 downcasting

  • 데이터 표현력이 높은 클래스에서 낮은 클래스로의 형변환
    ex) float64 => float32

장점:

  1. 메모리 사용량 감소
  2. 연산 속도 증가

단점:

  1. 정보 손실(강제로 형변환을 했을 경우. 데이터 표현력 감소)
  1. 정수 타입의 경우 downcasting으로 인해 오버 플로우가 발생할 가능성이 있음