静的型付け

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

静的型付け(せいてきかたづけ、: static typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチン引数や返り値などの値について、そのが、コンパイル時など、そのプログラムの実行よりも前にあらかじめ決められている、という型システムの性質のことである。

また、そのような性質の言語を、静的型付き言語(せいてきかたつきげんご、: statically typed language)という。これに対し、型は実行時の実際の値による、というのが動的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。

一口に静的型と言ってもその実体は言語により様々である。手続き型オブジェクト指向言語の多くでは、静的に型が付いていても、キャストなどによりインスタンスの妥当性は保証されない。より制限の強い言語であっても、ミュータブルな値により不正参照などのリスクが残されている。また静的型でもリフレクションを多用する設計を行なうと、実質的に動的型とほとんど変わらないスタイルになることから、静的と動的の境目は必ずしも明確でない場合があるといえる。

これに対し、静的型の関数型言語では、キャストなどを基本的に許さず、不正なデータを処理する関数が原理的に書けないため、ほぼインスタンスの妥当性も保証されることになる。これをもって関数型言語の支持者は「ほぼ全てのバグを型エラーにより検出する事が可能」と提案している。

一般的な傾向として、大規模プログラミングやシステム記述用の言語は静的な型付けを行なうものが多い。

関連項目[編集]