工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Javaカプセル化完全解説: データ隠蔽・ゲッター/セッター・アクセス制御の実践

カプセル化は4つの基本的なOOP概念の1つです。他の3つは継承、ポリモーフィズム、抽象化です。

Javaにおけるカプセル化とは、データ(変数)とデータを操作するコード(メソッド)を単一のユニットとしてラップするメカニズムです。カプセル化では、クラスの変数が他のクラスから隠蔽され、それらの現在のクラスのメソッドを通じてのみアクセスできるようになります。したがって、これはデータ隠蔽としても知られています。

Javaでカプセル化を実現するには:

例: カプセル化の実現

以下はJavaでカプセル化を実現する方法を示す例です。

/* File name : EncapTest.java */
public class EncapTest {
    private String name;
    private String idNum;
    private int age;

    public int getAge() {
        return age;
    }

    public String getName() {
        return name;
    }

    public String getIdNum() {
        return idNum;
    }

    public void setAge(int newAge) {
        age = newAge;
    }

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

    public void setIdNum(String newId) {
        idNum = newId;
    }
}

publicなsetXXX()とgetXXX()メソッドは、EncapTestクラスのインスタンス変数へのアクセスポイントです。通常、これらのメソッドはゲッターとセッターと呼ばれます。したがって、変数にアクセスしたいクラスは、これらのゲッターとセッターを通じてアクセスする必要があります。

EncapTestクラスの変数は以下のプログラムでアクセスできます。

/* File name : RunEncap.java */
public class RunEncap {
    public static void main(String args[]) {
        EncapTest encap = new EncapTest();
        encap.setName("James");
        encap.setAge(20);
        encap.setIdNum("12343ms");
        System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
    }
}

出力

Name : James Age : 20

カプセル化の利点

カプセル化により、内部実装を変更しても外部コードに影響を与えず、データの整合性を検証ロジックで保証できます。例えばsetAge()で負の値を拒否するなどの制約を追加可能です。

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Javaカプセル化マスター:データ隠蔽の実践ガイド
  4. Java Staticネストクラスの理解:用法、違い、実例
  5. Java無名インナークラス完全ガイド:定義、構文、実践例
  6. Javaシングルトンパターン完全解説:安全な実装と活用法
  7. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  8. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  9. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  10. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除
  11. Javaカプセル化完全解説: データ隠蔽・ゲッター/セッター・アクセス制御の実践