【かたしょうきょ】
型消去 とは?
最終更新:
💡 コンパイル時に確かめた型の情報を、実行用の形へ整理する
型消去は、実行時に型を表す方法から一部の型情報を取り除く仕組みです。Javaのジェネリクスを中心に、Objectや境界への置換、残る型情報、TypeScriptとの違いを説明します。
📌 このページのポイント
Javaは、全部Objectになってしまうの?
List<String>とList<Integer>は、別のクラス?
実行時に、Stringだけのリストか判定できる?
型の情報は、どこにも残らない?
TypeScriptも、同じ仕組み?
TypeScriptはJavaScriptを出力するときに型注釈を取り除くよ。たとえば引数をstringと書いても、その注釈だけで外部入力が文字列かを実行時に検査してはくれない。必要なら実際の値を検証する。Javaの型パラメーターの置換と、TypeScriptの型注釈の除去は、どちらも何が残るかを確認して理解しよう。
まとめ:ざっくりこれだけ覚えればOK!
「型消去」って出てきたら「実行用のコードでは、一部の型情報を取り除く仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Type Erasure」 = 型消去
💬 Erasureは消去。ここでは主にJavaのジェネリクスの実装を説明するよ。何が消えるかは言語や仕組みで違うんだ。