オブジェクト指向の基礎誤り発見

Javaにおける「メソッドのオーバーライド(override)」の説明として、誤っているものはどれですか?

A.オーバーライドするメソッドは、親クラスのメソッドと同じメソッド名・引数リスト・戻り値の型でなければならない
✓ この記述は正しい。オーバーライドはメソッドシグネチャ(名前・引数)と戻り値の型が親クラスと一致している必要があります。
B.親クラスで private と宣言されたメソッドはオーバーライドできない
✓ この記述は正しい。private メソッドはサブクラスから見えないため、オーバーライドではなく新たなメソッドの定義となります。
C.オーバーライドしたメソッドのアクセス修飾子は、親クラスのメソッドより制限を強くすることができる← 正解
✓ 正解です。この記述が誤りで、正しくはオーバーライド時にアクセス修飾子を親クラスより制限することはできません。同じか、より緩い修飾子にする必要があります。
D.@Override アノテーションを付けることで、オーバーライドのミスをコンパイル時に検出できる
✓ この記述は正しい。@Override アノテーションにより、意図しないオーバーロードや誤字をコンパイラが検出してくれます。

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