抽象データ型とOOP

Simula が発明した クラスとオブジェクトは、処理とデータの両方を、しかも望むならば同時に抽象化することが出来ます。

データには型があり、静的型付け言語では昔から、データ と データ のつなぎ目(または評価するとデータになる式との)を チェックすることが出来ました。

データで型チェックできるなら、クラスやオブジェクトでも型チェックできます。クラスやオブジェクトが型チェックできるというのならば当然、データだけでなく処理も型チェックできるでしょう。

これがどれだけ凄いことだかわかりますか?モジュールのつなぎ目が正しいかどうかをコンピュータが事前にチェックしてくれるってことなんですよ!

・・・みたいなのが、抽象データ型のOOP なのかな、とか思い始める夏の一日。もちろん、DbC あたりからの妄想です。