カプセル化 Java
⚡ スマートサマリー
カプセル化 Java これは、変数とメソッドを単一の単位としてまとめ、内部の詳細を隠蔽する仕組みです。プライベートフィールドを使用してオブジェクトのデータを保護し、パブリックなゲッターメソッドとセッターメソッドを使用してアクセスを制御します。

カプセル化とは何か Java?
カプセル化 Java 変数(データ)とメソッド(コード)を1つのユニットとしてまとめるメカニズムです。これは、情報の詳細を隠し、オブジェクトのデータと動作を保護するプロセスです。これは、OOPの4つの重要な概念の1つです。カプセル化クラスはテストが容易であるため、ユニットテストにも適しています。
詳しくはこちら こちら ビデオにアクセスできない場合
カプセル化を学ぶ Java 例を挙げて
カプセル化の詳細を理解するには、預金と残高表示メソッドを備えた次の銀行口座クラスを検討してください。
class Account { private int account_number; private int account_balance; public void show Data() { // code to show data } public void deposit(int a) { if (a < 0) { // show error } else account_balance = account_balance + a; } }
ハッカーがあなたの銀行口座のコードにアクセスしたとします。ハッカーは 100 つの方法であなたの口座に -XNUMX を入金しようとします。最初の方法またはアプローチを見てみましょう。
アプローチ1: 彼はコードを操作して、無効な金額 (-100 など) をあなたの銀行口座に入金しようとします。
さて、質問は次のとおりです – それは可能ですか? 調べてみましょう。通常、クラス内の変数は、以下のように「プライベート」に設定されます。クラスで定義されたメソッドでのみアクセスできます。他のクラスやオブジェクトからはアクセスできません。
データ メンバーがプライベートの場合、同じクラス内でのみアクセスできます。外部のクラスは、他のクラスのプライベート データ メンバーまたは変数にアクセスできません。したがって、このケースでは、ハッカーは -100 をアカウントに入金できません。
アプローチ2: ハッカーは最初に試みた方法では入金に失敗しました。次に、「deposit」メソッドを使って-100という金額を入金しようと試みました。
ただし、メソッドの実装には負の値のチェックがあります。 したがって、XNUMX 番目のアプローチも失敗します。
したがって、データを外部に公開することはありません。 これにより、アプリケーションが安全になります。
コード全体をカプセルと考えると、メッセージを通じてのみ通信できます。これがカプセル化という名前です。
データの隠蔽 Java
データの隠蔽 Java クラスの変数を他のクラスから隠蔽します。現在のクラスのメソッドを介してのみアクセスできます。実装の詳細をユーザーから隠蔽します。しかし、データ隠蔽以上に、より良い管理やグループを目的としています。ping 関連データの。カプセル化の程度を低くするために Java、 “protected” や “public” などの修飾子を使用できます。カプセル化により、開発者は他の部分に影響を与えずにコードの一部を簡単に変更できます。
ゲッターとセッター Java
ゲッターとセッター Java 変数の値を取得および更新するために使用される XNUMX つの従来の方法です。 これらは主に、変数値の作成、変更、削除、表示に使用されます。 setter メソッドは値の更新に使用され、getter メソッドは値の読み取りまたは取得に使用されます。 これらはアクセサーおよびミューテーターとしても知られています。
次のコードは、ゲッター メソッドとセッター メソッドの例です。
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
上記の例では、 getBalance() メソッドは変数 account_balance の値を読み取る getter メソッド、setNumber() メソッドは変数 account_number の値を設定または更新する setter メソッドです。
腹筋trac化 vs. カプセル化
カプセル化はよく誤解されますが、 腹筋trac生産。 勉強しましょう-
- カプセル化とは、機能を「どのように」実現するかということです。
- 腹筋tractionは、クラスが「何ができるか」という点に重点を置いています。
この違いを理解するための簡単な例は携帯電話です。回路基板上の複雑なロジックはタッチスクリーンにカプセル化され、インターフェースは絶対的なものです。tracやり遂げよう。
カプセル化の利点 Java
- カプセル化とは、データを関連する機能とバインドすることです。 ここで機能とは「メソッド」を意味し、データとは「変数」を意味します。
- したがって、変数とメソッドを XNUMX か所にまとめます。 その場所が「授業」です。 クラスはカプセル化のベースです。
- 自律的AI Java カプセル化により、コード内の重要なデータメンバーを隠す(アクセスを制限する)ことができ、セキュリティが向上します。
- 先ほど説明したように、データ メンバーが「プライベート」として宣言されている場合、そのデータ メンバーには同じクラス内でのみアクセスできます。外部のクラスは他のクラスのデータ メンバー (変数) にアクセスできません。
- ただし、これらの変数にアクセスする必要がある場合は、次を使用する必要があります。 パブリックの「ゲッター」と「セッター」 方法。






