メンバ変数 【member variable】 データメンバ / data member
概要
メンバ変数(member variable)とは、オブジェクト指向プログラミング(OOP)で、オブジェクトに所属する変数のこと。言語によっては「プロパティ」(property)「フィールド」(field)などと呼ばれることもある。オブジェクト指向では互いに関連する属性(データ)と操作(手続き)を「オブジェクト」(object)として一体化して取り扱う。このうち、オブジェクトの状態を表すデータを格納する変数をメンバ変数という。
メンバ変数のうち、個々のインスタンスに所属するものを「インスタンス変数」(instance variable)、クラス自体に所属するものを「クラス変数」(class variable)あるいは「静的メンバ変数」(static member variable)「静的フィールド」(static field)という。
インスタンス変数は実行時にインスタンスを生成すると領域が確保され、インスタンスの内部状態を保持するのに用いられる。同じクラスに属していてもインスタンスが違えば互いに異なる変数として扱われる。インスタンスが破棄されると消滅する。
クラス変数はクラス自体に付属する変数で、クラスごとに単一の領域が与えられ、プログラムの実行開始から終了まで存続する。大域的に参照・変更できるクラス自身の状態を保持したり、実行時に内容を変更する必要がない定数の定義などに用いられることが多い。
(2022.7.14更新)