プログラミングにおいて、具体的な実装(実装の詳細)を、使用者の側から直接アクセスできないようにすることです。
関数やクラス、モジュールなどが、その内部でどんなデータを扱い、どのような仕組みで機能を実現しているのかといった設計に関する情報を、それらを使用する外部からは直接アクセスできないようにします。代わりに、その機能を使うために必要な最小限の仕様(インターフェース)のみを公開します。
こうすることで、プログラムが複雑化することを避けたり、内部実装に依存したコードが作られ、設計の修正が困難になることを避けたりする効果があります。
情報隠蔽をおこなう具体的な手段として、オブジェクト指向プログラミング言語ではアクセス指定子(private、protected など)が使われるのが一般的です。公開する仕様を public なメソッドで表現します。こうした機能をもたないC言語のようなプログラミング言語でも、実装の詳細を非公開のソースファイルに記述し、それを呼び出すための関数をヘッダファイルに公開することで実現できます。
よく似た用語にカプセル化があります。カプセル化は、データとその操作方法を1つのモジュールにまとめることをいいます。結果的に情報隠蔽が行われることが多いものの、本来的な意味合いとしては別の考え方であるといえます。
また、内部にアクセスできないどころか、内部の構造が完全に見えなくなっている場合、ブラックボックスと呼ぶことがあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |