内部の構造や動作原理を知らなくても使用できるように作られていること、またそのような機器やシステム、ソフトウェア、プログラムなどのことです。
内部の詳細を理解しなくても使用できると、ユーザーは特別な学習や訓練が不要で、簡単に利用を始められる利点があります。また、外側からみた影響がないように内側を変更することが可能になり、あとから性能を向上させやすい利点もあります。他方で、中身が分からないことに疑念をもたれる可能性も考えられます。
実際のところ、たいていの機器やシステム、ソフトウェア、プログラムなどは、ブラックボックスである(またはブラックボックスな部分がある)といえます。ユーザーからみたときは特にそうですが、開発に携わっている側からみた場合も、構成するすべての部品(モジュール)の構造や動作原理を熟知して開発していることはそう多くありません。
プログラミングにおいては、ソースコードを公開していないライブラリや API はブラックボックスになっていると捉えられます。そのインターフェースにだけ依存すればよく、実装がどうなっているか(実装の詳細)を理解する必要はありません。このような設計の考え方を情報隠蔽と呼びます。
技術の流出を防ぐなどの意味で、内部を公開しないこともブラックボックスであるといえます。
対義語として、ホワイトボックスがあります。こちらは内部の構造や原理がはっきり分かるようになっていることを指しています。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |