こんにちは。Imabeppu です。
[oosquare-ml:01072] で平沢さんが以下のページを紹介されていました。
[モデリングの勘所 -オブジェクトモデルと実世界-]
http://www.ogis-ri.co.jp/otc/hiroba/technical/modelingIndex.html
たいへん興味深く読ませていただきました。ありがとうございます。
さて、この中の「第3回 オブジェクト指向は本当に「オブジェクト」指
向か?」を読んで気になったことがあります。この文章の中では、「オ
ブジェクト指向アプローチは、クラス指向アプローチと呼んだ方が適切
ではないだろうか?」という疑問が書かれています。ここで、「オブジェ
クト」と「インスタンス」の捉え方が気になりました。
私は以前、「オブジェクト」と「インスタンス」をほぼ同じ意味に捉え
ていました。実際にそう解説している本も多いと思います。あえて区別
すれば、「オブジェクト」はオブジェクト指向の中の概念で、「インス
タンス」は実装における概念なのかと考えていました。
しかし、ある方の意見を聞いて考え方が変わりました。それは、このよ
うなものです。
「オブジェクト」はその名のとおり「もの」を表します。「インスタン
ス」は実体のある「もの」です。インスタンスはオブジェクトと同じで
はなく、オブジェクトの一種ということになります。そして、クラスは
実体のない「もの」ですので、クラスもオブジェクトの一種です。「私
の所有している自家用車」はインスタンスであり、ものであります。
「車」はインスタンスではありませんが、ものです。「車」はクラスと
いうことです。
そう考えると、「オブジェクト指向アプローチ」の「オブジェクト」に
は「クラス」も含んでいれば、「インスタンス」も含んでいるわけで、
「オブジェクト指向アプローチ」という表現は適切だと感じられます。
さて、この解釈が正しいかどうかが問題ですね。
ご意見をお聞かせください。
--
// IMABEPPU, Shinya