ダウンキャスト【downcasting】

ダウンキャストのイメージ画像

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

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

これとは逆に、あるクラスインスタンスを親クラスインスタンスに変換することは「アップキャスト」(upcasting)という。子クラスインスタンスは親クラスの仕様を満たしていることが保証されるため、暗黙的に行うことができる。

(2023.5.12更新)

他の用語辞典による「ダウンキャスト」の解説 (外部サイト)