- OOP は ADT のたんなる別の呼び名だよ。(現在主流。本質寄り)
- OOP とは ADT を「クラス」という言語機能で実現するものだよ。つまり、クラスの特徴である“継承”やそれに付随して使える“多態性”が、 他の方法で ADT(“カプセル化”)を実現したプログラミングや言語との差だよ。(ストラウストラップによる定義)
- OOP と ADT は関係ないよ。メッセージングによる動的結合の実践だよ。(ケイによる元々の定義)
- メッセージングの介在は不要だよ。プロトタイプチェーンをたどって動的アクセスが可能なスロットを自在に脱着できるオブジェクトがあれば十分だよ。(JavaScript など)