例外処理・ファイル操作・クラス基礎比較問題
クラスのインスタンス変数とクラス変数の最も重要な違いはどれか。
A.インスタンス変数はインスタンスごとに独立した値を持つが、クラス変数はクラスの全インスタンスで共有される← 正解
✓ 正解です。インスタンス変数は独立、クラス変数は全インスタンスで共有されます。
B.インスタンス変数はメモリ上に複数存在し、クラス変数はメモリ上に1つのみ存在する
✗ メモリ概念は正確ですがこれは説明として不完全です。共有と独立が本質的違いです。
C.インスタンス変数はself.で定義され、クラス変数はメソッド内で定義される
✗ 定義位置の説明は不正確です。クラス変数もself.ではないだけで定義方法は異なります。
D.インスタンス変数は不変だが、クラス変数は可変オブジェクトのみ格納できる
✗ 可変性の制限は誤りです。インスタンス変数・クラス変数ともに任意の型を格納できます。