アップキャスト【upcasting】

アップキャストのイメージ画像

あるデータ型の変数を別の型に変換することを「型キャスト」(type casting)というが、オブジェクト指向言語では、あるクラスから作成されたインスタンスを別のクラスインスタンスに変換することも可能となっている。

このうち、あるクラスインスタンスを、そのクラスの親クラスインスタンスに変換することをアップキャストという。子クラスインスタンスは親クラスの仕様をすべて備えているため、安全に変換することができる。変換後のインスタンスでは子クラス独自の機能は使えなくなる。

これとは逆に、あるクラスインスタンスを子クラスインスタンスに変換することは「ダウンキャスト」(downcasting)という。親クラスインスタンスが子クラスの仕様を満たしている保証はないため明示的な変換操作が必要であり、失敗してエラーになることもある。

(2023.5.12更新)

他の用語辞典による「アップキャスト」の解説 (外部サイト)