カプセル化

カプセル化とは

フィールドへの読み書きやメソッドの呼び出しを制限する機能

 

どうやって制限するのか

・フィールドのアクセス制御をする場合

アクセス修飾子 フィールド宣言;

・メソッドのアクセス制限をする場合

アクセス修飾子 メソッド宣言{・・・・}

 

アクセス修飾子

private      自分自身のクラスのみ

package private  自分と同じパッケージに属するクラス

procted     自分と同じパッケージに属するか自分を継承した子クラス

public      全てのクラス

何もつけなかったらprivateパッケージがつく

 

GetterとSetter

カプセル化した取得用のメソッド群→Getter

カプセル化した設定用のメソッド群→Setter

プライベートを用意してGetterとSetterを作る

カプセル化

 

Getterの書き方

public 取り出すフィールドの型 getフィールド名(){

    return フィールド名=変数名;

}

 

Setterの書き方

public void setフィールド名(フィールドの型 変数名){

    this.フィールド名=変数名;

}

 

(ex)

public String getName( ){

   return this.name;

}

public void setName(String name){

   this.name=name;

}

 

Getter・Setterのメリット

1 Readonly・Writeonlyを実現できる

2 クラスの内部設計を自由に変更できる

フィールド名を変更してもメソッド名は変更しなくて良い

3 フィールドへのアクセスを検査できる