カプセル化と情報隠蔽

artonさんのエントリより

カプセル化した結果は、個々のオブジェクトがそれぞれの役割に応じた処理をするようになること、だ。そのために、必要となる操作とデータをクラス単位にまとめることが、カプセル化。別にprivateかどうかは関係ない。ただ、カプセル化されていれば余分なものにさわる必要がなくなるから、さわる必要がないものをさわれなくするのにアクセス指定が使えるというだけのことだ。
カプセル化 - L'eclat des jours

artonさんのこのシリーズ?は小咄のようで面白い。
ちなみに、フィールドやメソッドのアクセスコントロールがカプセル化(encapsulation)であると、混同、誤用している例は多い。artonさんも書いているが、カプセル化は情報の隠蔽(information hiding)を含むが、それだけではない。アクセスコントロールは情報隠蔽を実現する手段の一つでしかない。
私もそうだったが、これは"カプセル"という、日本語となった外国語がそう思わせてしまうのかもしれない。