抽象データ型の履歴

ADT: Abstract Data Type

javaでいう、ListとかSetとか。Cならfopenでのファイルハンドラとかかな?あるものを扱うオブジェクトがあって、外部はその内部のことを知らなくても扱えるように提供されているインタフェースのこと。

オブジェクト指向クラス)の本質抽象データ型であるというようなことがCode Complete第6章に書かれてある。

オブジェクト指向定義といえばカプセル化、継承、ポリモーフィズム。
カプセル化と抽象データ型は意味が違う?カプセル化は抽象データ型よりも意味が広いのかな?


抽象データ型
http://d.hatena.ne.jp/sumim/20071004/p1
「カプセル化=情報隠蔽+抽象データ型」なのかな?


情報隠蔽とカプセル化って違うもの?
http://andore.com/money/archives/001282.html

わかった、抽象データ型は「データと手続きをなかわけのわからないものにします!」っていうだけ。だからCのファイルハンドラとか普通に見れる。それに情報隠蔽を施したものがカプセル化。JavaのFileクラスとかになるわけ。

情報隠蔽や抽象化はカプセル化を実現するための手段にすぎないのかも。