セッターについて整理。
セッターについて理解にするには、まずはゲッターの理解を整理しておくとわかりやすくなるので、まずはゲッターからみていく。
ゲッターの復習
アクセス修飾子、privateで設定されたフィールド変数を、別クラスからでも呼び出せるようにできるのがゲッターメソッドの役割。
例えば下記の例でみる。

Mountainクラスで設定したprivateのフィールド変数mountainNameを、Mainクラスで呼び出すにはどうしたら良いか?
この例では、
- Mountainクラスにゲッターのメソッドを作る
- Mainクラスでゲッターを呼び出すことで、privateの変数にセットしたワード「焼岳」を取り出す。
ということをしている。
詳しくはこちらに整理した。
[Java / getter] ゲッターとは |アクセス修飾子privateとゲッター
ゲッターについて、整理。
セッターとは何か?
ゲッターを使って、privateで設定したフィールド変数の値を別クラスで呼び出せたわけだが、ではこの値を書き換えるにはどうしたら良いか?
ここでセッターが登場する。
セッターを使うことによって、privateのフィールド変数の値を別クラスからでも書き換えることができる。
セッターの書き方のルール
セッターの書き方にも、ゲッターと同じくルールがある。よく一緒に使われるゲッターと一緒に表記。
ゲッター
//メソッド名につけるフィールド変数名の先頭は大文字。
public 値の型 getフィールド変数名( ) {
return this. フィールド;
}
// example
public String getMountainName() {
return this.mountainName;
}
セッター
//メソッド名につけるフィールド変数名は書き換えたい変数名を入れる。
public void setフィールド変数名( ) {
this.フィールド変数名 = フィールド変数名;
}
// example
public void setMountainName() {
this.mountainName = mountainName;
}
セッターでprivateのフィールド変数の値を書き換える
では実際に例を使ってみていく。
下記のコードを実行してみる。
class Mountain {
//フィールド変数
private String mountainName = "焼岳";
private int mountainStay = 1;
//ゲッターメソッドの定義
public String getMountainName() {
return this.mountainName;
}
public int getMountainStay(){
return this.mountainStay;
}
//セッターメソッドの定義
public void setMountainName(String mountainName){
this.mountainName = mountainName;
}
public void setMountainStay(int mountainStay){
this.mountainStay = mountainStay;
}
}
public class Main {
public static void main(String[] args) {
//インスタンス生成
Mountain mountain1 = new Mountain();
//元々の情報取得
System.out.println("元々の情報を取得します。");
System.out.println("山の名前:"+ mountain1.getMountainName());
System.out.println("登山にかかる日数:"+ mountain1.getMountainStay() + "日");
//情報をセッターを使って書き換え
mountain1.setMountainName("五竜岳");
mountain1.setMountainStay(2);
//変更後の情報取得
System.out.println("変更後の情報を取得します。");
System.out.println("山の名前:"+ mountain1.getMountainName());
System.out.println("登山にかかる日数:"+ mountain1.getMountainStay() + "日");
}
}
下記はコンソールの結果
//コンソールの結果
元々の情報を取得します。
山の名前:焼岳
登山にかかる日数:1日
変更後の情報を取得します。
山の名前:五竜岳
登山にかかる日数:2日

セッターメソッドをMountainクラスで定義し、入れて欲しい情報の型を()の中で指定する。
すると、Mainクラスの方で、セッターメソッドを通して、private変数の値を上書きすることができる。
上書きした後、またゲッターで呼び出すことで、上書きした値を出力することができる。
全体像を把握する
下記にJavaやwebアプリケーションについての記事をまとめた。
-
-
Javaでwebアプリケーションを作る
ここでは、Javaでのwebアプリケーションの作成についてまとめていく。 そもそもwebアプリケーションとは? そもそもwebアプリケーションとは何か?ウェブサイトとの違いは? 下記にまとめた。 ...
続きを見る
コンピューターについての全体像も把握しておくと、プログラミングのさらなる理解に役立つ。
-
-
Screen-Shot-2021-06-11-at-11.45.16
続きを見る
使ったコード
class Mountain {
//フィールド変数
private String mountainName = "焼岳";
private int mountainStay = 1;
//ゲッターメソッドの定義
public String getMountainName() {
return this.mountainName;
}
public int getMountainStay(){
return this.mountainStay;
}
//セッターメソッドの定義
public void setMountainName(String mountainName){
this.mountainName = mountainName;
}
public void setMountainStay(int mountainStay){
this.mountainStay = mountainStay;
}
}
public class Main {
public static void main(String[] args) {
//インスタンス生成
Mountain mountain1 = new Mountain();
//元々の情報取得
System.out.println("元々の情報を取得します。");
System.out.println("山の名前:"+ mountain1.getMountainName());
System.out.println("登山にかかる日数:"+ mountain1.getMountainStay() + "日");
//情報をセッターを使って書き換え
mountain1.setMountainName("五竜岳");
mountain1.setMountainStay(2);
//変更後の情報取得
System.out.println("変更後の情報を取得します。");
System.out.println("山の名前:"+ mountain1.getMountainName());
System.out.println("登山にかかる日数:"+ mountain1.getMountainStay() + "日");
}
}