![]() |
[1999 年 1 月号] |
[Happy Squeaking!!]
4.クラスとインスタンス
4.1 クラスとは
現実世界には、様々なオブジェクトが存在しています。そうしたオブジェクトはすべてバラバラに頭の中でとらえられているものなのでしょうか?
この世界に存在する全てのオブジェクトを、別個の知識として頭の中に貯えていたのでは、あまりに情報量が多すぎて大変なことになってしまいます。実際にはオブジェクトの間には類似性があり、そうした類似性に着目することで、私たちは頭の中に貯えていなければならない情報の量を激減させています。
例えば道端で、田中さんのところのポチを見かけた場合、「これは犬だ」ということを無意識に頭の中で思い浮かべています。シロを見かけた場合もやはり、「これば犬」と思います。ここで私たちは、ある特定の動物に対し、「犬」という分類を行っているのです。これによってポチやシロに対する知識を別々に持たなくとも、「ポチは犬だからワンとなく。しっぽを振っているのは機嫌がいいからだ」といったことを把握することができるのです。
クラスとは、このように、多くのオブジェクトに関する共通性を取り出し、それを分類するための「もの」を表しています。英語のclassとは「組」や「階級」といったことですのでまさに文字通りの意味になっています。
クラスは分類の単位として任意に設定することができるものです。何を分類の基準とするかは、分類する人や、場合によって異なってきます。例えば「犬」という分類の単位だけでは、ペットブリーダーにとっては多少おおざっぱすぎる単位でしょう。「ポメラニアン」や「チワワ」、「柴犬」といったより細かな分類が必要になります。オブジェクト指向のシステムを作る際にも、この「クラス分け」がきちんと行われていないと、概念の整理がされていないわかりにくいものになってしまいます。
© 1999-2001 OGIS-RI Co., Ltd. |
|