抽象データ型とOOP
Simula が発明した クラスとオブジェクトは、処理とデータの両方を、しかも望むならば同時に抽象化することが出来ます。
データには型があり、静的型付け言語では昔から、データ と データ のつなぎ目(または評価するとデータになる式との)を チェックすることが出来ました。
データで型チェックできるなら、クラスやオブジェクトでも型チェックできます。クラスやオブジェクトが型チェックできるというのならば当然、データだけでなく処理も型チェックできるでしょう。
これがどれだけ凄いことだかわかりますか?モジュールのつなぎ目が正しいかどうかをコンピュータが事前にチェックしてくれるってことなんですよ!