アクセス修飾子とは、クラス・フィールド・メソッドの定義をするときに、クラス名・フィールド名・メソッド名の前に付ける修飾子で、アクセスできる範囲を指定する修飾子のことを言う。
アクセス修飾子には以下の3種類がある。
| アクセス修飾子 | アクセスできる範囲 |
|---|---|
| pubilc | 外部クラス(任意のパッケージの任意のクラス)及びこの修飾子を用いてクラスやフィールド、メソッドを定義・宣言したクラス内部からアクセスできる |
| protected | 同じパッケージのクラス及びこのクラスのサブクラス、この修飾子を用いてクラスやフィールド、メソッドを定義・宣言したクラス内部からのみアクセスできる |
| private | この修飾子を用いてクラスやフィールド、メソッドを定義・宣言したクラス内部からのみアクセスできる |
| 指定なし | 同じパッケージのクラス、及びこのクラスやフィールド、メソッドを定義・宣言したクラス内部からのみアクセスできる |
| public | protected | 指定なし | private | |
|---|---|---|---|---|
| 定義・宣言したクラス | ○ | ○ | ○ | ○ |
| 同じパッケージ | ○ | ○ | ○ | × |
| サブクラス | ○ | ○ | × | × |
| 上記以外 | ○ | × | × | × |
「フィールドの宣言」の「publicとprivateの違い」のアニメーションを見よう。