オブジェクト指向プログラミング言語において、インスタンスに付随しており、インスタンスごとに別個に存在する変数のことです。
プログラミング言語によって呼び名は異なり、インスタンスフィールド、データメンバ、メンバ変数といった呼び方があります。インスタンス変数の宣言になんらかのキーワードや記号などを付加するとクラス変数になる言語が多く、クラス変数のほうを特有の呼び名で呼び、インスタンス変数のほうをシンプルな呼び方で呼ぶケースもあります(メンバ変数と静的メンバ変数、フィールドとクラスフィールドというように。それぞれ前者がインスタンス変数、後者がクラス変数の呼び名)。
インスタンス変数はクラスのメンバとして宣言します。そのクラスのインスタンスが作られたときに実体が作られ、インスタンスごとに別個に存在することになります。インスタンスが記憶域期間を終えると、インスタンス変数も破棄されます。
C++ では、クラス定義の内側で宣言した変数のうち、static指定子を付加しなかったものがインスタンス変数です。C++ の規格上の用語としてはデータメンバが適切ですが、メンバ変数と呼ばれることが非常に多いです。
static指定子が付加されている場合は、静的メンバ変数(クラス変数)になります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |