今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

カプセル化の補足

コメントとトラックバックがあったので、軽く補足。
かれこれ1?年ほど前、オブジェクト指向を勉強し始めた当時は昨日書いた説明のようにきっちり分けられてたことの方が多かったし、「カプセル化情報隠蔽は間違いだよ」と見かけることが多かった。そのころからカプセル化情報隠蔽をいっしょくたにしてるをちらほら見かけたのも事実。
つーか、今見たら、誰が書いたのか知らんけど、はてなキーワードにもこう書いてあるし。w

構造と振る舞いをグループ化して1つの抽象物を定義し,異なる抽象物を互いに別物として分離する処理のこと.
内部データを外部から隠蔽する(情報隠蔽)をカプセル化として説明されることもあるが、誤りである。

ちょっとぐぐってみたら、それなりに説明してあるページを発見。
Encapsulation is not information hiding - JavaWorld
あと、手元にある戸松豊和さんの「Javaプログラムデザイン」でもカプセル化情報隠蔽は分けて書かれてた。

現在では「カプセル化情報隠蔽」が常識だから、いまさらそれをひっくり返そうなんて思ってないし、できるわけもない。

とりあえず、本来の意味を書いておく。

って程度のこと。
昔はこうだったのに、って言う年寄りの戯言にすぎないので、そんなにかみつかないで〜。w