抽象データ型の履歴
ADT: Abstract Data Type
javaでいう、ListとかSetとか。Cならfopenでのファイルハンドラとかかな?あるものを扱うオブジェクトがあって、外部はその内部のことを知らなくても扱えるように提供されているインタフェースのこと。
オブジェクト指向(クラス)の本質は抽象データ型であるというようなことがCode Complete第6章に書かれてある。
オブジェクト指向の定義といえばカプセル化、継承、ポリモーフィズム。
カプセル化と抽象データ型は意味が違う?カプセル化は抽象データ型よりも意味が広いのかな?
http://d.hatena.ne.jp/sumim/20071004/p1
「カプセル化=情報隠蔽+抽象データ型」なのかな?