レコード (計算機科学)
型理論のレコードには、データに加えて第一級関数型フィールドが含まれる場合があるため、オブジェクト指向プログラミングの多くの機能を表現できる。
レコードは、メインメモリや磁気テープやハードディスクなどの大容量記憶装置を含む任意の記憶媒体に存在させることができる。レコードは、ほとんどのデータ構造、特にリンクされたデータ構造の基本的なコンポーネントである。多くのコンピューターファイルは、論理レコードの配列として編成され、効率を上げるために、より大きな物理レコードまたはブロックにグループ化される。
関数またはプロシージャのパラメータは、多くの場合、レコード変数のフィールドと見なすことができる。また、その関数に渡された引数は、呼び出し時にその変数に割り当てられるレコード値と見なすことができる。また、プロシージャコールの実装によく使用されるコールスタックでは、各エントリはアクティベーションレコードあるいはコールフレームであり、これにはプロシージャパラメータとローカル変数、リターンアドレス、およびその他の内部フィールドが含まれている。
オブジェクト指向言語のオブジェクトは、基本的に、そのレコード自身の処理に特化したプロシージャを含むレコードである。非オブジェクト指向言語を拡張してオブジェクト指向化した言語(Simula系統のクラスベースオブジェクト指向言語)において、オブジェクト型は、レコード型を拡張したものであることが多い(C++やObject Pascalなど)。実際、ほとんどのオブジェクト指向言語では、レコードはオブジェクトの特殊なケースであり、オブジェクト指向機能を使用するオブジェクトとは対照的に、プレーンオールドデータ構造(PODS)またはパッシブデータ構造と呼ばれる。