カプセル化と情報隠蔽
プログラミングにおけるカプセル化と情報隠蔽は、同じ意味として使われることが多い。しかし、厳密にはちょっとだけ異なる。
カプセル化
関連性の強いデータ群とロジック郡を、モジュールという膜で包み込むことを、カプセル化と呼んでいます
カプセル化の効果は、抽象概念を分けるために使う。モジュール≒class と考えるとわかりやすいかもしれない。
情報隠蔽
モジュールの実装を、そのモジュールを使用するクライアントから隠蔽します。モジュールにどのようなデータがあり、関数がどのようなロジックで機能を実現するかを、外部から隠蔽するようにします。
情報隠蔽の効果は、インターフェースをシンプルにする。隠蔽することで、モジュールの利用者は内部実装を知る必要がなくなる。