カテゴリ: Javaのカプセル化 更新日: 2025/12/10

Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法

142
Java の getter メソッドと setter メソッドの使い方

先生と生徒の会話形式で理解しよう

生徒

「Javaでprivateフィールドを守りながら、外からデータを読み取ったり書き換えたりする方法ってありますか?」

先生

「いいですね!そのために使うのが、getterメソッドsetterメソッドなんです。」

生徒

「getterメソッドとsetterメソッドって、具体的にはどういうものですか?」

先生

「実際にコード例を交えながら、Javaのgetterメソッドとsetterメソッドの基本から応用までしっかり見ていきましょう!」

1. getterメソッドとsetterメソッドとは?

1. getterメソッドとsetterメソッドとは?
1. getterメソッドとsetterメソッドとは?

Javaでは、クラスの中にあるprivateフィールドを外から直接いじれないようにして、情報を安全に守る仕組みがあります。ですが、privateにすると外から値を取り出したり入れたりできなくなってしまいますよね。そこで登場するのがgetterメソッドsetterメソッドです。

getterメソッドは、privateフィールドの値を外から読み取るためのメソッドです。例えば名前を読み取りたいときに使います。

setterメソッドは、privateフィールドに新しい値を設定するときに使います。例えば年齢を新しく入れたいときに使います。

このように、getterメソッドsetterメソッドを作ることで、privateで守ったフィールドを外から安全に使えるようにすることができます。

2. getterメソッドの基本的な使い方

2. getterメソッドの基本的な使い方
2. getterメソッドの基本的な使い方

まず、getterメソッドの書き方を見ていきましょう。getterメソッドは、getという言葉を使って名前をつけるのが基本の形です。例えば、名前を取り出す場合はgetNameというメソッドを作ります。

下のコードは、privateフィールドのnameを外から読み取るためのgetterメソッドの例です。


public String getName() {
    return name;
}

このメソッドはnameの中身を外に返してくれます。とてもシンプルですが、プログラムの安全性を高めるためにとても重要な役割をしています。

3. setterメソッドの基本的な使い方

3. setterメソッドの基本的な使い方
3. setterメソッドの基本的な使い方

次に、setterメソッドの書き方です。setterメソッドは、setという言葉を使って名前をつけるのが基本です。例えば、名前を新しく入れる場合はsetNameというメソッドにします。

下のコードは、nameに新しい値を入れるためのsetterメソッドの例です。


public void setName(String newName) {
    name = newName;
}

このメソッドを使うことで、外のプログラムからnameに値を安全に入れることができます。直接アクセスするのではなく、必ずこのsetterメソッドを通すので、プログラムが間違った動きをしにくくなります。

4. getterメソッドとsetterメソッドを使ったサンプルプログラム

4. getterメソッドとsetterメソッドを使ったサンプルプログラム
4. getterメソッドとsetterメソッドを使ったサンプルプログラム

それでは、getterメソッドとsetterメソッドを使って、pleiadesの開発環境で試せる簡単なサンプルプログラムを紹介します。


// Person.java
public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String newName) {
        name = newName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int newAge) {
        if (newAge >= 0) {
            age = newAge;
        } else {
            System.out.println("年齢は0以上にしてください。");
        }
    }
}

// Main.java
public class Main {
    public static void main(String[] args) {
        Person person = new Person();

        person.setName("さくら");
        person.setAge(20);

        System.out.println("名前: " + person.getName());
        System.out.println("年齢: " + person.getAge());

        person.setAge(-3);
    }
}

このプログラムをpleiadesで実行すると、getterメソッドとsetterメソッドの動きを実際に確認できます。

実行結果は以下のようになります。


名前: さくら
年齢: 20
年齢は0以上にしてください。

このように、getterメソッドで値を読み取り、setterメソッドで新しい値を入れる仕組みがよくわかります。setterメソッドの中で条件を付けて、間違った値が入らないようにしているのもポイントです。

5. getterメソッドとsetterメソッドの応用例

5. getterメソッドとsetterメソッドの応用例
5. getterメソッドとsetterメソッドの応用例

getterメソッドとsetterメソッドは、実はとても柔軟に使えます。例えば、getterメソッドの中で値を加工して返すこともできます。名前の先頭だけ大文字にして返す、というような工夫です。


public String getName() {
    if (name == null || name.isEmpty()) {
        return "";
    }
    return name.substring(0, 1).toUpperCase() + name.substring(1);
}

また、setterメソッドの中で値の確認だけでなく、ログを出力するなど、さまざまな工夫ができます。これが、getterメソッドsetterメソッドの大きなメリットです。

6. getterメソッドとsetterメソッドを使うメリット

6. getterメソッドとsetterメソッドを使うメリット
6. getterメソッドとsetterメソッドを使うメリット

ここまで見てきたように、Javaのgetterメソッドsetterメソッドを使うことで、privateで守ったフィールドを安全に外から使うことができます。それにより、データの間違った書き換えを防ぐことができます。

さらに、どのようなデータを外に見せたいか、どのように値を入れたいかを考えながら作れるので、プログラムがわかりやすく整理されます

特に大きなプロジェクトでは、プログラムを後から直すときや別の人が読むときに、getterメソッドsetterメソッドのおかげでとてもスムーズになります。

初心者のうちは「こんなにメソッドを作る必要があるの?」と思うかもしれません。でも、pleiadesなどで練習していくうちに、その大切さがわかってきます。

これからもprivateでフィールドを守りながら、getterメソッドsetterメソッドをしっかり使えるようにしていきましょう。

まとめ

まとめ
まとめ

Javaのgetterメソッドsetterメソッドは、private修飾子で守られたフィールドに安全にアクセスするための基本中の基本です。特に初心者にとって、直接フィールドを操作できない理由や、その代わりにメソッドを通して値を読み書きする意味は、最初は少しとっつきにくいかもしれません。しかし、実際にgetName()setAge()のようなコードに触れていくことで、その意義と便利さを自然と理解できるようになります。

プログラムの設計において、データの保護(カプセル化)はとても重要です。たとえば、名前が空のまま返されないようにしたり、年齢がマイナスの値にならないようにチェックを加えたりすることで、プログラムの信頼性が大きく向上します。こうした工夫は、setterメソッドgetterメソッドの中で実装するのが一般的です。

また、getterメソッドでは単純に値を返すだけでなく、必要に応じて値を加工することも可能です。例えば、先頭の文字を大文字にする処理などが挙げられます。これにより、フィールドそのものの値を変更せずに、見た目だけを整えるような柔軟な対応もできます。

一方で、setterメソッドの中では、値の妥当性を確認したり、条件に応じてログを出したりすることもできます。これは、Javaの設計力を身につける上でとても有効な手段です。

さらに、pleiadesなどのJava開発環境を使って自分でコードを書き、実行しながら学ぶことで、理解が一気に深まります。以下は、今回の学びをもとに改めて整理したサンプルコードです。


// サンプルクラス
public class Student {
    private String name;
    private int score;

    public String getName() {
        if (name == null || name.isEmpty()) {
            return "名無し";
        }
        return name.substring(0, 1).toUpperCase() + name.substring(1);
    }

    public void setName(String newName) {
        if (newName != null && !newName.trim().isEmpty()) {
            name = newName.trim();
        } else {
            System.out.println("名前を正しく入力してください。");
        }
    }

    public int getScore() {
        return score;
    }

    public void setScore(int newScore) {
        if (newScore >= 0 && newScore <= 100) {
            score = newScore;
        } else {
            System.out.println("スコアは0から100の間にしてください。");
        }
    }
}

このように、実際のコードでgetterとsetterを使い分けながら、データを保護しつつ、正しく扱う技術を身につけていきましょう。Javaのオブジェクト指向プログラミングにおける基礎力がしっかりついてくるはずです。

Javaのgetterメソッドsetterメソッドは、シンプルながら強力な道具です。クラス設計においてはもちろん、テストやデバッグ、コードの保守など、さまざまな場面で活躍します。ぜひ積極的に使いながら、自然と身につけていってください。

先生と生徒の振り返り会話

生徒

「getterメソッドとsetterメソッドの役割がよくわかりました!値を読み書きするだけじゃなくて、チェックや加工もできるんですね。」

先生

「そうですね。フィールドの中身をそのまま外に出すのではなく、条件を加えたり、安全性を保つための工夫ができます。」

生徒

「今度からはprivateにして、getterとsetterでしっかり管理するようにしてみます!」

先生

「それがとても大切です。プログラム全体の品質を高める第一歩ですよ。pleiadesでどんどん試してみてくださいね。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaのgetterメソッドとは何ですか?初心者でもわかる使い方を教えてください。

getterメソッドとは、Javaでprivateフィールドの値を外部から読み取るためのメソッドです。メソッド名は通常「get + フィールド名」で定義され、カプセル化されたデータを安全に取得できます。

setterメソッドは何のために使うのですか?Javaのsetterメソッドの基本が知りたいです。

setterメソッドは、Javaでprivateに設定されたフィールドに新しい値を代入するためのメソッドです。メソッド名は「set + フィールド名」で作り、値を安全に更新する際に使います。
Javaのカプセル化の一覧へ
新着記事
IAM Identity Centerの許可セットとポリシーの関係を解説
IAM Identity Centerの許可セットとポリシーの関係を初心者向けにわかりやすく解説!
Java の正規表現で「数字」や「英字」だけをチェックする方法
Javaの正規表現で「数字」や「英字」だけをチェックする方法を初心者向けに完全解説
Java で正規表現を使う方法(Pattern クラスと Matcher クラス)
Javaで正規表現を使う方法を完全解説!PatternクラスとMatcherクラスを初心者向けにやさしく説明
FlutterでQRコードの生成・読み取りをする方法
FlutterでQRコードの生成・読み取りを実装する方法!初心者でもできるQRアプリ開発
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説