オブジェクト指向プログラミングは、オブジェクトの概念に基づいたプログラミング パラダイムを指します。 これらのオブジェクトにはデータとコードが含まれます。
属性と呼ばれるデータは、フィールドの形式です。 対照的に、メソッドと呼ばれるコードは手続きの形をしています。 オブジェクト指向プログラミングの最も重要な概念の XNUMX つに、データの隠蔽とカプセル化があります。
主要な取り組み
- データ隠蔽は、クラス内の特定の変数またはメソッドへのアクセスを制限するためにオブジェクト指向プログラミングで使用される手法です。 対照的に、データのカプセル化は、機能の「カプセル」を作成するためにクラス内にデータとメソッドをバンドルすることを含む、より広い概念です。
- データの隠蔽は変数やメソッドの意図しない変更を防ぐのに役立ち、データのカプセル化は関連する機能をグループ化することでコードを簡素化するのに役立ちます。
- データの隠蔽とカプセル化は関連する概念ですが、データのカプセル化は、データの隠蔽やその他のプログラミング手法を含むより一般的な手法です。
データの隠蔽とデータのカプセル化
データ隠蔽とデータ カプセル化の違いは、データ隠蔽はプロセスを指し、データ カプセル化はそのプロセスのサブプロセスの一部であることです。 XNUMX つの概念には異なる意味があり、一方は他方の一部です。 その他の違いには、目的、焦点、アクセス指定子、およびプロセスが含まれます。
データ隠蔽は、オブジェクト指向プログラミングの概念を指します。 認識されていないアクセスからの特定のクラスのメンバーのセキュリティは、データ隠蔽のプロセスによって確認されます。
データとそのメンバーをハッキングから保護します。 データがハッキングされると、情報漏えいや不正操作につながる可能性があります。
データのカプセル化は、データ隠蔽の一部としても知られています。 データのカプセル化は、オブジェクト指向プログラミングの別の概念を指します。 これは、クラスの実装の詳細をユーザーから隠すメカニズムです。
オブジェクト指向プログラミング言語では、プライベート データをクラスにまとめることも指します。
比較表
比較のパラメータ | データの隠蔽 | データのカプセル化 |
---|---|---|
意味 | これは、認識されていない、違法または不正なアクセスからクラスのメンバーを保護することを指します。 | これは、クラス内の特定のデータ メンバーとメソッドの実装の詳細をラップすることを指します。 |
DevOps Tools Engineer試験のObjective | 目的は、データを保護し、データの複雑さを隠すことです。 | カプセル化は、システムの複雑さを隠すためにデータをラップすることに関係しています。これにより、システムがシンプルになり、エンドユーザーが操作しやすくなります。 |
フォーカス | ここでの主な焦点は、カプセル内でのデータ使用の制限または許容を提供することです。 | ここでの主な焦点は、複雑なデータをラップまたはエンベロープすることです。 |
アクセス指定子 | データ非表示では、データは非公開であり、アクセスできません。 | データのカプセル化では、データは必ずしもプライベートではなく、パブリックにすることができます。 |
プロセス | それは別のプロセスと技術を指します。 | これは、データ隠蔽内のプロセスの一部を指します。 |
データ隠蔽とは?
データは、情報の送信、記録やメモの維持、その他さまざまな目的に使用できます。 データは、データのメンバーまたは所有者に応じて、プライベートまたはパブリックにすることができます。
特定のデータが操作されると、誤った結果を含む悪影響が生じます。 また、特定のデータの整合性が損なわれる可能性もあります。 これらすべてにより、データは機密であるだけでなく、プログラムの揮発性のコンテンツになります。
これが、データを安全に保護する必要がある理由です。 これは、外部からのアクセスを制限することで実現できます。
オブジェクト指向言語では、アクセス修飾子は基本的に、クラス、メソッド、およびその他のメンバーのアクセシビリティを設定するキーワードです。 プライベート、パブリック、プロテクトなど、さまざまなタイプのアクセス修飾子が存在します。
Java では、これらのアクセス修飾子はデータの隠蔽を制御するのに役立ちます。データがパブリックの場合、部外者が簡単にアクセスできます。特定のクラス外の人もこのデータにアクセスできます。
したがって、データを隠したり、部外者によるデータへのアクセスを制限したりするには、データを非公開と宣言する必要があります。 データがプライベートと宣言されると、アクセスが制限されます。つまり、特定のクラスのオブジェクトのみがアクセスできるようになります。
データのカプセル化とは?
データのカプセル化は、データ隠蔽のサブプロセスであるオブジェクト指向プログラミング言語の概念です。 データをまとめてデータの複雑さを軽減することに重点を置いています。
コードとデータをカプセル内で相互にバインドすることを指します。これは、特定のクラスの複雑さを隠すために行われます。
データの隠蔽では、外部からの未知のアクセスからデータを保護する上で、アクセス指定子が重要な役割を果たします。 データのカプセル化では、内部からの未知のアクセスからデータを保護する上で、アクセス指定子が重要な役割を果たします。
データのカプセル化では、クラス内のメンバーをプライベート、パブリック、および保護にすることができます。
クラスに応じてメンバーへのアクセスを提供します。 たとえば、特定のクラスのプライベート メンバーには、その特定のクラスのオブジェクトへのアクセス権が与えられます。 カプセル化は、システムの外部ではなく内部の動作を扱います。
たとえば、マクドナルドの従業員は注文を受けて顧客に渡すために働いています。彼の仕事は、注文を機械に入力し、準備ができたらトレイを渡すことです。
彼は注文がどのように準備されるかを知る必要はありません。 これが、データのカプセル化がシステムの複雑さを軽減するのに役立つ方法です。
データ隠蔽とデータカプセル化の主な違い
- データの隠蔽とは、認識されない、違法または無許可のアクセスからクラスのメンバーを保護することを指します。 カプセル化とは、特定のデータ メンバーとメソッドの実装の詳細をクラス内にラップすることを指します。
- データ隠蔽の目的は、データを保護し、データの複雑さを隠すことです。 データのカプセル化は、データの複雑さを隠し、エンドユーザーが操作できるようにシステムを簡素化することを目的としています。
- データ隠蔽では、主な焦点は、カプセル内でのデータ使用の制限または許容を提供することです。 データのカプセル化では、主な焦点は複雑なデータをラップまたはエンベロープすることです。
- データ非表示では、データは非公開であり、アクセスできません。 データのカプセル化では、データは必ずしもプライベートではなく、パブリックにすることができます。
- データ隠蔽は別のプロセスであり、テクニックでもあります。 一方、データのカプセル化は、データ隠蔽内のプロセスの一部です。
- https://ieeexplore.ieee.org/abstract/document/4426486/
- https://ieeexplore.ieee.org/abstract/document/818099/