NAL-6295さんの
http://d.hatena.ne.jp/NAL-6295/20071206/p1
経由。
http://code.nanigac.com/source/wiki/view/398
a/an を付ける場合 - インスタンスを生成
I have a book.この文では book クラスのインスタンスを生成し、そのインスタンス自体のことを指しています。メモリやヒープが確保されているため、当然実体が存在します。
ちなみに複数形の名詞の場合にインスタンス生成する場合には some を付けることが多いようです。
例: I have some books.the を付ける場合 - 既存のインスタンスへのポインタ
I also have the book. I also have the books.既に生成された book インスタンスへのポインタとなります。対象インスタンスが一つならthe+名詞で、複数ならthe+名詞(s)となります(英語の語感としては、後者は the じゃなくて these や those を使う方が自然な場合の方が多いかも)。
また、別々に生成されたインスタンスをグルーピングして一つにまとめて参照することもできます。Mr. A: I bought a funny book. Mr. B: I also bought a funny book. Mr. C: So did I. Mr.Z: I read the books 10 years ago.当然ですが、生成していないものを指すことはできませんので、生成してもいないものをいきなり the を使って指すことはできません。
I have the apple. (apple インスタンスは生成してないので、何のことを指しているかわからない)ただしインスタンスは自分自身で生成する必要はありません。相手(や読者)が容易に特定でき、実体があるものであればtheで参照することができます(容易かどうかは、「アレ」と言って通じるかどうかで判断できるのではないかと)。
例えば地球ができた時には生成されていた(はず)の太陽(the Sun)や月(the moon)はtheを付けて参照します。また、インターネットは the net などと呼称されることがありますね。
冠詞を付けない場合 - クラス/構造体自体
I like books.これはbookクラス自体を指しているのではなく、bookクラスを複数保持するbooksコレクションクラスを指しているため、本一般のことを指します。
おもしろひ。
なんていうかものすごく直感的………って思うあたりどうなんだろう?(笑