フィールド (計算機科学)
表示
この記事に雑多な内容を羅列した節があります。 |
計算機科学におけるフィールド(英: field)とは、レコードと呼ばれる複合的なデータ構造の一部分を形成する各要素のことであり、分離されたデータ項目である[1]。フィールドは領域や欄といった意味を持つ。例えば、コンピュータではDate (日付) というデータ構造を、3つの異なるフィールド: Year (年), Month (月), Day (日) の集合によって表現することもある。
- データベースレコードの集合としてのリレーショナルデータベースの配列データは行とも呼ばれる。各々のレコードは様々なフィールドからなり、すべてのレコードの同一フィールドは列を形作る。
- オブジェクト指向プログラミングでは、フィールドはクラスや構造体などに直接宣言される任意の型の変数であり[3]、オブジェクト内にカプセル化されたデータである。そのため、言語によってはデータメンバー(data member)とも呼ばれる。クラスのメソッドがオブジェクトへの操作を担うのに対して、フィールドはオブジェクトの状態を表す。通常のフィールドはインスタンス変数(instance variable)と呼ばれることもあり、オブジェクトのインスタンスごとに存在する。一方静的フィールド(static field)はクラス変数(class variable)とも呼ばれ、クラスのすべてのインスタンスで共有される一つの変数である。
- 構造体やレコードのような単純なデータ集合型を定義する機能をサポートしない言語において、クラスで代用する場合、フィールドをクラス外部に公開して直接操作できるようにすることもあるが、一般的にはカプセル化の促進および機能拡張時のメンテナンス性向上などの観点からクラス外部には公開せず隠蔽する。
- フィールドは、プログラミング言語によっては、メンバー変数(member variable)と呼ばれることもある。さらに言語によっては、フィールドとメソッドの中間に位置する概念として、プロパティ(property)をサポートするものもある。