Eclipse Javaのgetter/setterを自動で作成する方法

目次

getterとsetterとは

クラスのフィールド(メンバ変数)へ安全にアクセスするためのメソッドです。

カプセル化の考え方に基づいて使われます。

フィールドを privateで隠して、安全に制御されたアクセスを提供するのが目的です。

 

getter とは

フィールドの値を外部から取得するためのメソッドです。

public class Person {
    private String name;  // 外部から直接アクセスできない

    // getter
    public String getName() {
        return name;
    }
}

メソッド名は通常 get+フィールド名 で始まります(boolean型は isフィールド名 も使う)。

フィールド(2行目)を直接 public にせず、読み取り専用の窓口を用意するイメージです。

 

setter とは

フィールドの値を外部から変更するためのメソッドです。

public class Person {
    private int age;

    // setter
    public void setAge(int age) {
        if (age >= 0) {      // 不正な値を防げる
            this.age = age;
        }
    }
}

メソッド名は通常 set+フィールド名で始まります。

2行目の値に代入する際に検証や制御(nullチェック、範囲チェックなど)を組み込めます。

getterとsetterを作成する

getterとsetterを作成する手順です。

1.ソースコード上で、右クリックして、「ソース」→「getterおよびsetterの生成」をクリックします。

 

2.下記の操作を行いOKを押します。
・「すべて選択」をクリック
・「挿入ポイント」は「priceの後」を選択しました
・「ソート順」は「最初にgetter,次にsetter」を選びました
・「アクセス修飾子」は「public」を選択

 

3.コード上に、getterとsetterが自動に生成されました。

package test1;

public class Product {
    private String name;
    private int price;
    
	public String getName() {
		return name;
	}
	public int getPrice() {
		return price;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setPrice(int price) {
		this.price = price;
	}
}

7~12行目がgetterです。
13~18行目がsetterです。

getterとsetterを使用する

getterとsetterを使用するサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    	
    	Product p1 = new Product();
     
    	p1.setName("りんご");
    	p1.setPrice(300);
    	
    	System.out.println(p1.getName());//りんご
    	System.out.println(p1.getPrice());//300
    }
 }

8,9行目は、setterでインスタンスに値をセットしています。
11,12行目は、getterでインスタンスから値を取得し表示しています。

関連の記事

Eclipse コード補完を行う/コード補完の対象を増やす
Eclipse import文を自動生成する方法
Eclipse JavaのserialVersionUIDを自動生成する
Eclipse Lombokのインストールとgetter/setterを記述しないサンプル

△上に戻る