クラスとオブジェクトはもともと Simula の発明品ですが、それは構造体のパワーアップとして作られたわけではなく、「サブルーチン」を拡張して作られました。具体的にサブルーチンをどのようにパ ワーアップしたかというと、インスタンス(コールスタックに積まれるやつ)の生成と破棄をコール/リターンと連動しないようしたことです。
こんな強化改造しちゃった当初の目的はサブルーチンから(半)コルーチンへとパワーアップ!(というか汎化)させ、擬似並列処理を行うこと。 普段サブルーチンを「インスタンスを作っている」なんて意識せずに使っているからピンとこないかもですが、サブルーチンのローカル変数 が進化したのが クラスのメンバ変数 だ! ・・と言えば、この2者の関係が比較的「アハッ!」しやすいかしら。
"データ構造はクラスに任せた!だから、アルゴリズムはstatic関数で書くぜ!!(キリッ - みねこあ
ん。Simulaの構文はまさにそんな感じだったような気もする