カプセル化
カプセル化とは
フィールドへの読み書きやメソッドの呼び出しを制限する機能
どうやって制限するのか
・フィールドのアクセス制御をする場合
アクセス修飾子 フィールド宣言;
・メソッドのアクセス制限をする場合
アクセス修飾子 メソッド宣言{・・・・}
アクセス修飾子
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 フィールドへのアクセスを検査できる