メンバ変数とは?めんばへんすう
メンバ変数とは、クラス(データと処理をひとまとめにした設計図)の中に定義され、そのクラスから作られた実物(インスタンス)ごとに値を持つ変数。オブジェクトの状態を保持する役割を担い、同じクラスに属する処理(メソッド)から共通して参照できる。言語によってインスタンス変数、フィールドとも呼ばれ、外部からは直接触らせないのが基本になる。
最終更新:2026-10-09
この語が出る過去問を解く →背景
手続きだけを並べる書き方では、扱うデータと、それを操作する処理が別々の場所に散らばる。どの関数がどのデータを書き換えるのかを追い切れず、片方を直すともう片方が壊れた。そこでデータと処理を同じクラスにまとめ、データ側をクラスの内部に置いたものがメンバ変数で、外から直接触らせないカプセル化の実体でもある。
具体例
銀行口座を表すクラスを書くなら、残高を外から直接触れないメンバ変数にして、入金と出金のメソッドだけがその値を変えられるようにする。口座を2つ作れば残高も別々に存在するので、一方の口座への入金がもう一方の残高に影響することはない。
試験での引っ掛け
クラス変数との取り違えが最頻出。クラス変数はインスタンスの数に関係なくクラス全体で1つしか存在せず、どのインスタンスから見ても同じ値になる。メソッドの中だけで生きるローカル変数とも、生存期間と参照できる範囲が違う。
関連用語
出た過去問
出典:令和4年度 公開問題 基本情報技術者試験 科目B 問10(IPA)
次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 手続delNodeは、単方向リストから、引数posで指定された位置の要素を削除する手続である。引…
正解:prev.next.next
要点:単方向リストの削除は前要素のnextを次の次へ張り替える
単方向リストで途中の要素を削除するには、削除対象の1つ前の要素のnextを、削除対象の次の要素へ張り替えます。ループを抜けた時点でprevは削除対象の直前(pos-1番目)を指しているので、削除対象はprev.next、その次はprev.next.nextです。したがって prev.next ← prev.next.next とすれば、対象の要素が連結から外れます。
出典・参考
公式シラバスの1 基礎理論 > 3. プログラミング > (1) プログラミングに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。