アクセス修飾子
クラスやそのメンバの宣言時にはアクセス修飾子が付けられ、どこからアクセスできるかを指定することができます。
アクセス修飾子には「public」、「protected」、「なし」、「private」の4種類があります。
今回はそれぞれのアクセス修飾子のアクセス可能性を表にまとめました。
アクセス修飾子とアクセス可能性
| 自クラス | 同一パッケージ | サブクラス | 他パッケージ | |
|---|---|---|---|---|
| public | 〇 | 〇 | 〇 | 〇 |
| protected | 〇 | 〇 | 〇 | × |
| なし | 〇 | 〇 | × | × |
| private | 〇 | × | × | × |
| 表の見方をprotected修飾子を例に挙げて説明します。 |
"protected修飾子が付いている場合は、自クラスと同一パッケージ内とサブクラスからアクセスすることができます。しかし他パッケージからはアクセスできません。"
という意味です。
終わりに
個人的には「protected」と「なし」、「同一パッケージ」と「サブクラス」がややこしいです。
どんな場面でprotectedやパッケージが有用であるのか、はっきりと理解できていないためであると思うので勉強します。