Google検索エンジン

トップページ » Java複数クラス入門 » アクセス修飾子について


アクセス修飾子について - 他クラスからの利用制限・アクセス制御 -

  • アクセス修飾子とは?

    アクセス修飾子とは、クラス名、インタフェース名、メソッド名、コンストラクタ名、変数名の前につける修飾子で、他クラスからの利用を制御するために用いられます。

    アクセス修飾子には「public、protected、private」の3種類があり、指定した変数やクラスなどを、どの範囲から参照可能かのスコープを制御するのに用いられます。 クラス、インタフェース、メソッド、コンストラクタ、変数のアクセスを制御する修飾子として利用できます。 デフォルト(指定なし)では、自身のJavaパッケージからのみアクセスできます。

    アクセス修飾子を用いる理由として、セキュリティの強化やカプセル化が挙げられます。 カプセル化とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータを隠蔽したり、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることを指します。

    なお、static修飾子が付与されている場合は、クラスがインスタンス化されていなくても、そのクラス、メソッド、変数などを参照可能です。 ただし、静的(static)メソッドからは、自分のクラス内の静的(static)ではないメソッドを参照することはできません。



    public、protected、指定なし、private のアクセス制御

    アクセス修飾子 同じパッケージ(自ファイル) 異なるパッケージ(他ファイル)
    自クラス サブクラス 他クラス サブクラス 他クラス
    public
    protected ×
    指定なし × ×
    private × × × ×