今日はカプセル化について学習しました。カプセル化とは定義したフィールドやメソッドを他のクラスで使用する際に予想外の値を入れてエラーを起こさないように同じクラス内や同じパッケージ内でしか呼び出せないようにすることです。メンバを定義する前にpublicの場合、どこでも呼び出しが可能で、protectedは同じパッケージ内か継承先の場合に呼び出し可能で、何も書かなければprivate packageと見做され同じパッケージ内でしか呼び出しができない。privateを指定した場合、そのクラス内でしか呼び出すことができない。クラスをカプセル化もすることができる。カプセル化は定石が決まっており、クラスとメソッドはpublic、フィールドにprivateを指定する。なぜフィールドをprivateにするのかというと、javaのエラーはフィールドの値に関わるものが多いので、privateで他のクラスからアクセスできないようにします。これではこのフィールドの値を呼び出したり変更できないと思われますが、その為にgetterメソッドとsetterメソッドが存在します。getterメソッドでフィールドを返すようにreturnでフィールドを記述し、他のクラスからでもアクセスできるようにします。これを使うメリットとして、もしフィールド名を変更したい場合にこのgetterメソッドの中身だけを変えればいいということが挙げられます。setterメソッドはフィールドの値を他のクラスで弄りたい場合に使用します。これを使うメリットとして、制限をかけてエラー分を表示させることができます。予期せぬ値を入れられない為にif分の条件分岐でエラー分を表示させるようにすれば言い訳です。
そろそろ内定を取らないと、いけません。、、