アクセス制御(privateとpublic)
-
privateは自クラス内からのアクセスのみを許す修飾子です。
⇨ カプセル化のキモはこのprivateをフィールドやメソッドにつけることで、他のクラスからその存在を隠すことにある。 -
privateとは逆に外部クラスに公開したいフィールドやメソッドにはpiblic修飾子をつける。
-
オブジェクト指向では基本的にフィールドにはprivateをつける。フィールドにpiblicを付けるケースは極めて稀で、フィールドにprivateをつけるとそのフィールドは外部クラスから変更はおろか参照すらできなくなう。
-
クラスで内部に使うことを想定したメソッドには必ずprivateをつける。外部に公開するメソッドは基本的にはpublicをつける。
アクセス用メソッド(getterとsetter)
-
privateをつけたフィールドには外部から参照・変更ができるような専用のメソッドを必要に応じて提供する。これをアクセス用メソッドといい、参照メソッドをgetter、代入用メソッドをsetterと呼ぶ。
-
getterは引数無しで呼び出されると、対応するprivateなフィールドの値を参照し、戻り値として返すだけのメソッドです。
(public) フィールドの型 get[フィールド名](){return [フィールド名];}
- setterは引数を対応するprivateなフィールドに代入するだけのメソッド。
(public) void set[フィールド名](フィールドの型 引数名){[フィールド名]=
引数名;}