クラスとメソッド定義問題

Javaにおける「インスタンス変数」の説明として正しいものはどれですか?

A.メソッド内で宣言され、そのメソッドの処理が終わると消滅する変数である
✗ それはローカル変数の説明です。ローカル変数はメソッドのスコープ内だけで有効です。
B.static キーワードを付けてクラス内に宣言され、すべてのインスタンスで共有される変数である
✗ それはクラス変数(static フィールド)の説明です。すべてのインスタンスで共有されます。
C.クラス内のメソッド外に宣言され、各インスタンスが独自の値を持つ変数である← 正解
✓ 正解です。インスタンス変数はクラス内のメソッド外で宣言され、各インスタンスがそれぞれ独立した値を保持します。
D.final キーワードを付けて宣言された変更不可能な変数である
✗ final 変数は定数の宣言に関するものであり、インスタンス変数の定義とは異なります。

Oracle Certified Java Programmer, Bronze SE の問題一覧