プログラミングにおいて、データとその操作方法を一つのモジュールに一体化することです。
オブジェクト指向プログラミングにおいては、データとその操作をおこなうメソッドを一体にして、オブジェクトを作ることをいいます。そうすることで、ほかのオブジェクトと役割が明確に分離され、無関係な要素が入り込まない独立性の高い部品(モジュール)が実現でき、再利用性が高まるうえ、コードの理解が容易になります。
オブジェクト指向の重要な概念の1つとしてよく知られていますが、実際にはオブジェクト指向に限定されたものではありません。たとえば、オブジェクト指向プログラミング言語ではないC言語でも、ダイナミックメモリアロケーション(動的メモリ割り当て)によって、(オブジェクト指向の意味での)オブジェクトに見立てたものを生成し、ヘッダファイルに宣言した関数(実装はソースファイル側に記述)を通して操作するといった方法で、カプセル化の考え方を取り入れられます。
アルゴリズムとデータ構造編【データ構造】第5章では、この方法でスタックを実装しています。
カプセル化の実現のためには、データを非公開とし、その操作に必要なメソッドのみを公開するかたちを取ることが多く、これは結果的に情報隠蔽を実現することにもつながります。情報隠蔽とは、具体的な実装(実装の詳細)を、使用者の側から直接アクセスできないようにすることであり、カプセル化とは少し違う考え方ではありますが、用語が同じ意味合いで用いられることも多くあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |