アクセス修飾子とは?
アクセス修飾子は、クラスや変数、メソッドがどこからアクセス可能であるかを制御するためのものです。Javaには、次の4種類のアクセス修飾子があります。
- public
- protected
- private
- デフォルト(修飾子なし)
クラスには public とデフォルトのアクセス修飾子を適用できますが、protected と private はクラスに対して使用できないことに注意してください。メソッドやフィールドにはすべての修飾子を使用することが可能です。
以下に、それぞれのアクセス修飾子がどのように機能するかを表でまとめてみました。
アクセス修飾子 | クラス内 | 同一パッケージ内 | サブクラス(異なるパッケージ内) | どこからでもアクセス可能 |
public | ⚪︎ | ⚪︎ | ⚪︎ | ⚪︎ |
protected | ⚪︎ | ⚪︎ | ⚪︎ | × |
デフォルト(なし) | ⚪︎ | ⚪︎ | × | × |
private | ⚪︎ | × | × | × |