クラスとメソッド比較問題

Javaにおける「publicアクセス修飾子」と「protectedアクセス修飾子」の違いとして正しいものはどれですか?

A.publicはすべてのクラスからアクセスできるが、protectedは同じパッケージ内とサブクラスからのみアクセスできる← 正解
✓ 正解です。publicはどのクラスからもアクセス可能で、protectedは同じパッケージと継承関係にあるサブクラスからのみアクセスできます。
B.publicは同じパッケージ内からのみアクセスできるが、protectedはすべてのクラスからアクセスできる
✗ 説明が逆です。同じパッケージ内からのみアクセスできる修飾子はpackage-private(修飾子なし)です。
C.publicもprotectedも、どちらも同じパッケージ内からしかアクセスできない
✗ publicはパッケージ外からもアクセス可能です。この説明はpackage-private(修飾子なし)の説明に相当します。
D.publicもprotectedも、どちらもすべてのクラスからアクセスできる
✗ protectedはすべてのクラスからアクセスできるわけではなく、別パッケージの非サブクラスからはアクセスできません。

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