フィールド (計算機科学)

計算機科学におけるフィールド（）とは、レコードと呼ばれる複合的なデータ構造の一部分を形成する各要素のことであり、分離されたデータ項目である。フィールドは領域や欄といった意味を持つ。例えば、コンピュータではDate (日付) というデータ構造を、3つの異なるフィールド: Year (年), Month (月), Day (日) の集合によって表現することもある。

 プログラミング言語は通常、1つ以上のフィールドを持つ複合データ型を表現する構造体あるいはレコードと呼ばれるデータ型を持つ。ブーリアン型の配列値はビットフィールドとして表すこともできる。

 データベースレコードの集合としてのリレーショナルデータベースの配列データは行とも呼ばれる。各々のレコードは様々なフィールドからなり、すべてのレコードの同一フィールドは列を形作る。

 オブジェクト指向プログラミングでは、フィールドはクラスや構造体などに直接宣言される任意の型の変数であり、オブジェクト内にカプセル化されたデータである。そのため、言語によってはデータメンバー（）とも呼ばれる。クラスのメソッドがオブジェクトへの操作を担うのに対して、フィールドはオブジェクトの状態を表す。通常のフィールドはインスタンス変数（）と呼ばれることもあり、オブジェクトのインスタンスごとに存在する。一方静的フィールド（）はクラス変数（）とも呼ばれ、クラスのすべてのインスタンスで共有される一つの変数である。
 構造体やレコードのような単純なデータ集合型を定義する機能をサポートしない言語において、クラスで代用する場合、フィールドをクラス外部に公開して直接操作できるようにすることもあるが、一般的にはカプセル化の促進および機能拡張時のメンテナンス性向上などの観点からクラス外部には公開せず隠蔽する。
 フィールドは、プログラミング言語によっては、メンバー変数（）と呼ばれることもある。さらに言語によっては、フィールドとメソッドの中間に位置する概念として、プロパティ（）をサポートするものもある。

 統一モデリング言語 (UML) では、フィールドのことを属性（）と呼ぶ。

 GUIにおいて、通例「入力フィールド」と言えばテキストボックスなどでユーザーがデータを設定することのできる入力欄のことを指す。

脚注

脚注

出典

関連項目 
 クラス (コンピュータ)
 メソッド (計算機科学)
 インスタンス変数
 クラス変数
 プロパティ (プログラミング)
 構造体
 キーフィールド
 タプル（）

データモデリング
プログラミング言語の構文