メインメニューを開く

メンバー変数英語:member variable)とは、オブジェクト指向におけるインスタンスの内部に保持する変数のことである。プログラミング言語によっては「インスタンス変数」などとも呼ばれる。

クラスの規模が大きくなるとメンバー変数はC言語グローバル変数と何ら変わらない副作用を持つ。

また、メンバー変数を利用して「隠蔽」することで後々「階層化の有害性」を発現することもある。「隠蔽」という考え方は「概念的」および「構造的」にさまざまな利点を持っているが、実装面では層単位で同じような最適化が繰り返し発生することによる無駄な処理が増え、効率的な実装を阻害し、複雑化を招くことがある。また将来的に「隠蔽されたデータ」「低層部分のみに存在するデータ」にアクセスできずに途方に暮れ、トリッキーな解決策に走り、結果としてデスマーチを誘発する。