Java Languageカプセル化


前書き

かなり重要な変数を持つクラスがあり、コードから他のプログラマが設定した値が許容できない値になったとします。これらのコードはコードにエラーをもたらしました。解決策として、OOPでは、(変数に格納されている)オブジェクトの状態をメソッドを通じてのみ変更することができます。オブジェクトの状態を隠し、オブジェクトメソッドを通じてすべての相互作用を提供することは、データカプセル化として知られています。

備考

変数をprivateマーキングし、必要に応じてpublicすることは、すでにpublic変数を隠すことよりもはるかに簡単です。

カプセル化が有益でないかもしれない1つの例外があります: "ダム"データ構造(変数を保持することを唯一の目的とするクラス)

public class DumbData {
    public String name;
    public int timeStamp;
    public int value;
}

この場合は、クラスのインターフェイスは、それが保持するデータです

finalとマークされた変数は、設定後に変更できないため、カプセル化に違反することなくpublicとマークすることができます。

カプセル化 関連する例