田辺さん曰く。
それを踏まえた上で、質問なのですが、
Isoparametric さんが、新人にオブジェクト指向が何たるかを
教えるときに、何をポイントとして説明されますか。何を知りたいかと言うと、Isoparametric さんの
「オブジェクト指向」の核のイメージです。
それがわかると、kmaebashi さんとの齟齬が
よりはっきりするのかなと思います。
また、Cのマルチプルインスタンスと
オブジェクト指向を明確に区別する理由がわかると思います。
自分が重きを置くのは、
凝縮度、結合度、そして振る舞いです。
クラス化することは構造体+関数よりも、
より高い凝縮度を実現します。
それはデータと呼び出し側のコードの結合度をインターフェイスによってより低められるからです。
構造体+関数というインターフェイスから、
一歩二歩三歩、もっともっと先に進んだものが、
クラスのメンバ関数やメソッドではないか、と考えています。
これらを適切に定義することにより、
オブジェクトの責任範囲が明確になり、
内部の実装の凝縮度を高め、
同時に外部に対する結合度を低めることに繋がります。
そして、オブジェクトはそのポインタ(参照)が何であれ適切に振る舞います。
即ち、「相互作用」を健全化することです。
そういう意味ではマルチプルインスタンスは些末なことでしかない、と考えています。
自分は、ですよ。自分は。
(これらにメッセージだとか言語機能としてのインターフェイスが使われるとかはまた別のお話)