ネットニュース記事案内 (2000年11月11日〜)

2000[... | 11/1-|11/11-|11/21- | ...]

2000年11月19日

最近、なにかに追われるように更新しています(笑)。

= fj.comp.lang.javaインスタンスとオブジェクトの違いについてQ

なんでJavaのグループに投稿されているのかはよくわかりませんが(笑)。「インスタンス」と「オブジェクト」はどう違うのかという、素朴ですが本質的な質問です。ですから、かなり議論が盛り上がってていい感じ。時々頓珍漢な人もいたみたいだけど(苦笑)。

よくよく考えると、「オブジェクト指向」という言葉だけはずいぶん浸透しているように思うのですが、自家薬籠中の物にしている人は一握りしかいないのかもしれませんね。なにしろ、構造化プログラミングでさえ理解が怪しいプログラマ(!/笑)がいるみたいですし。

この議論を見ていても、漠然としか理解していないようで「ほとんど同じだと思います」という人もいれば、「インスタンス∈オブジェクト(インスタンスはオブジェクトという集合の要素である)」という人もいます。(ちなみに私はこの理解) で、こういう方は概ね「クラス∈オブジェクト」というように理解していますね。SmallTalk的な世界観という感じ。

中には「クラス=オブジェクト」というなかなか理解しがたい解釈をされる方もいて、この人がまたソフトを飯の種にしているっぽいので頭が痛いです(笑)。

Javaの場合にはプリミティブってややこしい存在があるので、余計混乱を助長しているような感じも無きにしも非ずという論調も見られます。要するに「インスタンスの集合⊂オブジェクトの集合」なんだけど、「プリミティブの集合 not ⊂オブジェクトの集合」という状況があるので混乱が生じる現況になっていると。

実際、Javaでプログラミングしていると、性能上の問題でプリミティブを使いたいがためにややこしいインプリメントになってしまうことが往々にしてあるのが悩ましいところです。それでもC(C++)に比べればはるかに見通しのいいプログラムがかけるので、今は次善の策のような形でJavaを使っているわけですが(苦笑)。


なっきー