クラス変数 | Programming Place Plus 用語集

トップページ用語集

名称

解説

オブジェクト指向プログラミング言語において、クラスに付随している変数のことです。

プログラミング言語によって呼び名は異なり、静的メンバ変数や静的フィールド、クラスフィールドといった呼び方があります。

なお、「クラス型の変数」とは異なります(それはオブジェクトやインスタンスと呼ばれるものです)。

クラス内で宣言される変数には、インスタンス変数(メンバ変数、インスタンスフィールドなどとも呼ばれる)と、クラス変数とがあります。インスタンス変数はオブジェクトごとに別個に存在するのに対し、クラス変数はオブジェクトがいくつ作られたとしても(また、作られないとしても)、たった1つの実体が存在し、すべてのオブジェクトから共有されます。

クラス変数の実体はクラスがロードされた時点で作られます。それはほとんどの場合、プログラム実行開始の時点という意味です。そうであれば、クラス変数の記憶域期間はプログラムの実行開始から終了までということになり、静的変数であるといえます。

C++ の場合

C++ では、クラス定義の内側で宣言した変数のうち、static指定子を付加したものがクラス変数です。C++ の規格上の用語としては、staticデータメンバが適切ですが、静的メンバ変数(staticメンバ変数)と呼ばれることが非常に多いです。

静的メンバ変数はプログラムの実行開始の時点で存在しており、実行終了まで存在します(静的記憶域期間)。

静的メンバ変数について、C++編【言語解説】第18章で解説しています。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る