読み方 : かたシステム

型システム【type system】

型システムとは?

コンピュータプログラムの中で扱うデータに「型」(type)と呼ばれる種類を割り当て、データの扱い方に関する規則をまとめた仕組みのこと。整数、文字列、真偽値といった種類ごとに許される操作を定め、不適切な処理を検出することでプログラムの誤りを防ぐ。

プログラム上では、数値と文字列を足し合わせるといった、本来成立しないはずの誤った操作が記述されることがある。型システムはプログラム内に登場する値や変数、定数などの種類と仕様、可能な操作を規定し、こうした矛盾を検出してエラーや警告として伝える。変数などに型を与えることを「型付け」(typing)という。

型システムにより、実際に動作させてから不具合に気づくのではなく、開発の早い段階でミスを発見できるため、品質の安定につながる。また、関数やメソッドがどのような値を受け取り、何を返すかが型によって示されるため、他者のコードを読む際の手がかりにもなる。現代の開発支援ツールは型情報を活用して入力補完や誤り検出を行っており、記述ミスの抑制にも一役買っている。

データ型の種類

データ型の種類としては、言語仕様によってあらかじめ用意されている「プリミティブ型」と、複数の型を組み合わせてプログラマが定義する「複合データ型」がある。プリミティブ型の種類や仕様は言語ごとに異なっているが、多くの言語では整数型浮動小数点数型文字列型ブーリアン型論理型)などが用意されている。

同じ数値を表す型でも、整数のみを格納できるものと任意の実数を格納できるもの、正負の符号が存在するものと正数のみを表すもの、格納するデータのサイズが32ビットのものと64ビットのものなど、複数の種類の型が用意されることが多い。同じ種類のデータでも言語によって型や表現方法が異なる場合もあり、例えばJavaなどには任意の長さの文字データを格納する「文字列型」(String型)が存在するが、C言語などでは文字は一文字分の文字コードを格納する「文字型」(char型) の配列として実装される。

静的型付けと動的型付け

プログラミング言語の仕様は、データ型の検査をいつ行うかによって「静的型付け」と「動的型付け」に大別される。静的型付けでは、実行前のコンパイル時に型の整合性を確認する。矛盾があればその時点でエラーとなり、実行を許可しない。C言語やJava、C#などがこの方式を採用する。

動的型付けは実行時にデータの種類を判断する方式で、コード記述時に変数などのデータ型を細かく指定しなくてよいため、短い記述で柔軟にコードを書き進めることができる。PythonRubyJavaScriptなどがこれに相当する。近年では、動的型付け言語においても型の注釈(アノテーション)を追加し、ツールが静的に検査できるようにする手法が普及している。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。