호빵의 IT 개발소

업 캐스팅과 다운 캐스팅의 차이점은? 본문

CS(전공지식)/기술면접 준비

업 캐스팅과 다운 캐스팅의 차이점은?

호빵Stack 2025. 3. 29. 23:43
업 캐스팅(Upcasting) vs 다운 캐스팅(Downcasting) 차이점 요약
  • 정의
    • 업 캐스팅: 자식 클래스 → 부모 클래스로 변환
    • 다운 캐스팅: 부모 클래스 → 자식 클래스로 변환
  • 형 변환 여부
    • 업 캐스팅: 자동 변환 (명시적 캐스팅 필요 없음)
    • 다운 캐스팅: 명시적 캐스팅 필요, 타입 확인 필요
  • 안전성
    • 업 캐스팅: 타입 호환으로 안전함
    • 다운 캐스팅: 실제 타입 확인 필수, 잘못하면 런타임 오류 발생
  • 사용 목적
    • 업 캐스팅: 다형성 구현에 사용
    • 다운 캐스팅: 부모 타입으로 전달받은 객체를 구체적인 기능으로 사용할 때

 

 

면접 스타일 답변 예시:

업 캐스팅은 자식 클래스를 부모 클래스 타입으로 변환하는 것으로 다형성을 구현할 때 자주 사용되며 자동으로 변환되기 때문에 안전하게 사용할 수 있습니다.
반면 다운 캐스팅은 부모 클래스를 자식 클래스 타입으로 변환하는 것으로 명시적 캐스팅이 필요하고 실제 객체가 자식 타입인지 확인하지 않으면 런타임 오류가 발생할 수 있습니다.
따라서 다운 캐스팅은 instanceof나 타입 확인 후 사용하는 것이 바람직합니다.
Comments