Java

カプセル化

カプセル化

フィールドへの読み書きやメソッドの呼び出しを制御する機能
例えば、「このメソッドはAクラスから呼び出せるが、Bクラスからは呼び出せない」「このフィールドの内容は読めるけど、書き換えは禁止」といった表現を実現できる。このように、情報へのアクセスや動作の実施について「誰に何を許すか」を定めて制限することをアクセス制限という

アクセス制御のレベル

メンバレベル

宣言方法

フィールドのアクセス制御 アクセス修飾子 フィールド宣言; メソッドのアクセス制御 アクセス修飾子 メソッド宣言{・・・}

アクセス修飾子

制限の範囲 名前 プログラム中の指定方法 アクセス許可する範囲
制限が厳しい private private 自分自身のクラスのみ
package private (何も書かない) 自分と同じパッケージに属するクラス
protected protected 自分と同じパッケージに属するか自分を継承したクラス
制限が緩い public public 全てのクラス

トップレベル

宣言方法

クラスのアクセス制御 アクセス修飾子 class{・・・}

アクセス修飾子

制限 名前 プログラム中の指定方法 アクセスを許可する範囲
厳しい package private (何も書かない) 自分と同じパッケージに属するクラス
緩い public public 全てのクラス