キャスト 【cast】 キャスティング / casting
概要
キャスト(cast)とは、投げる、投じる、脱ぎ捨てる、配役(する)、鋳造(する)、流し込む、位置づける、などの意味を持つ英単語。一般の外来語としては配役、出演者などを表すことが多い。型キャスト (type casting)
プログラミングでは、あるデータ型の値を別のデータ型に変換する型変換(type conversion)のうち、開発者がコードを記述して明示的に行うものを型キャスト(type casting)、略してキャストという。型変換の同義語とする場合もある。
C言語やその記法を受け継ぐプログラミング言語では、(int)x のように「(型名)変数名」という構文で変数の値を指定したデータ型に変換することができる。型変換はキャストによるものの他に、コンパイラなどの処理系が自動的に行う暗黙的型変換がある。
データ型によって表現できるデータの形式や範囲が異なり、情報量の少ない型から多い型への変換(32ビット整数→64ビット整数など)を「拡大変換」、逆方向(倍精度浮動小数点数→単精度浮動小数点数など)を「縮小変換」という。拡大変換ではすべての情報が保たれるが、縮小変換では一部の情報が失われたり変化する場合がある。
オブジェクト指向言語では、キャスト操作によってあるクラスのインスタンスを、派生関係にある異なるクラスへ変換することができる場合がある。基底クラス(親クラス/スーパークラス)から派生クラス(子クラス/サブクラス)へのキャストを「ダウンキャスト」(downcasting)、その逆を「アップキャスト」(upcasting)という。
(2019.3.26更新)