「オブジェクト」と「インスタンス」はどう違うのか
「コラム: 「オブジェクト」と「インスタンス」はどう違うのか」
http://www.shos.info/develop/oo/ooword.html#objectandinstance
「オブジェクトの広場」の記事を受けて、「オブジェクト」という言葉と「インスタンス」という言葉はどう違うのかについて、考察してみた。
C#/.NET/ソフトウェア開発など
「コラム: 「オブジェクト」と「インスタンス」はどう違うのか」
http://www.shos.info/develop/oo/ooword.html#objectandinstance
「オブジェクトの広場」の記事を受けて、「オブジェクト」という言葉と「インスタンス」という言葉はどう違うのかについて、考察してみた。
ディスカッション
コメント一覧
こんにちは。なかなか面白い考察ですね。私は、オブジェクト指向の世界では、すべてのものがオブジェクトで、そのオブジェクト達の中には別のオブジェクト(クラスなど)からインスタンス化されたもの(インスタンス)がある、と捉えています。{インスタンスの集合}⊆{オブジェクトの集合}ですね。まあ、ナイーブな OO 以外の世界ではすべてのものがオブジェクトというのはちょっと苦しいかもしれませんが。
こんにちは。フィードバックに感謝します。
私もそう思います。
純粋にオブジェクト指向の視点だけで見ているときは、シンプルに「すべてのものがオブジェクト」でいいのだと思います。
純粋なオブジェクト指向の世界では、「オブジェクト」も「インスタンス」も、そうしたシンプルで整った概念なのだと思います (易しくはないかも知れませんけれど)。
ところが、そうした元々シンプルな概念が、Java だとか C++ だとかのオブジェクト指向以外の要素が沢山入ったハイブリッドな言語にマッピングされるときなどに、複雑さが入り込んでしまって本来の「概念のシンプルさ」が失われてしまうのかも知れません。
唯、そうした場合でも、純粋なオブジェクト指向の視点からのシンプルなものの見方というのは、考えるツールとして必要なものだと感じております (文脈によるのかも知れませんが)。