カプセル化(getter/setter)
privateアクセスでフィールドを保護し、制御されたアクセスのためにgetterとsetterを提供する方法を学びます。
「カプセル化(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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- クラスとオブジェクト
- フィールド、メソッド、コンストラクタ
- カプセル化(getter/setter)