Java Academy · レッスン

カプセル化(getter/setter)

privateアクセスでフィールドを保護し、制御されたアクセスのためにgetterとsetterを提供する方法を学びます。

レッスン 3/38 ステップ

「カプセル化(getter/setter)」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

カプセル化

カプセル化:フィールドを private にし、メソッドを通してアクセスを制御することです。詳細を隠し、状態を保護できます。

フィールドを隠す理由

フィールドを隠すと、ほかのコードから無効な値を設定されるのを防げます。どのような変更を許可するかを、自分で決められます。

ゲッター

Getter:private フィールドの値を返すメソッドです。

セッター

Setter:private フィールドの値を設定するメソッドです。内部にチェックを追加して、無効な入力を拒否できます。

メリット

メリットは、より安全なコード、デバッグのしやすさ、そしてほかのコードを壊さずに後からクラス内部を変更できる自由です。

デモ:カプセル化

コードでは、Dog が private フィールドを持ちます。Getter が値を返し、setter が妥当性を確認します。無効な年齢は 0 に戻されます。

public class Main {
  // Class with private fields, getters, and setters
  static class Dog {
    private String name;
    private int age;

    Dog(String n, int a) {
      name = n;
      setAge(a); // use setter for validation
    }

    public String getName() {
      return name;
    }

    public int getAge() {
      return age;
    }

    public void setAge(int a) {
      if (a >= 0) {
        age = a;
      } else {
        age = 0; // default if invalid
      }
    }
  }

  public static void main(String[] args) {
    Dog d = new Dog("Buddy", 3);
    System.out.println(d.getName() + " is " + d.getAge() + " years old.");

    d.setAge(-5); // invalid, will reset to 0
    System.out.println("After invalid set, age = " + d.getAge());
  }
}

カプセル化の確認

確認問題:なぜフィールドを private にして、Getter や Setter を使うのでしょうか。

まとめ

まとめ:カプセル化とは、private フィールドと Getter・Setter の組み合わせです。詳細を隠し、オブジェクトを安全に保ちます。

無料で開始

AI チューターと学ぶ Java — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
104
レッスン
374

よくある質問

「カプセル化(getter/setter)」レッスンは無料ですか?

はい。「カプセル化(getter/setter)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「カプセル化(getter/setter)」で何を学びますか?

privateアクセスでフィールドを保護し、制御されたアクセスのためにgetterとsetterを提供する方法を学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「カプセル化(getter/setter)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラスとオブジェクト
  2. フィールド、メソッド、コンストラクタ
  3. カプセル化(getter/setter)
← Java Academyに戻る