クラスという名前

Javaなんかのオブジェクト指向の言語において、クラスはどうして"クラス"という名前なのか昔から疑問だったんだけど、前にHaskellを勉強したあたりからなんとなく意味がわかってきた。

今まで、クラスのことは、例えばCar(車)クラスであれば、イデア的な車を定義するものだ、と考えていたことがそもそもの間違いだった。いや、間違いでもないんだけど、あたかもクラス自体が何か物に対応しているような錯覚の元になっていた。

クラスとは、ある物の集合についての性質を記述したものであり、クラス自体はいかなる物にも対応はしていない。あくまで、集合の性質を抽出しただけなのである。その集合が、クラスのインスタンスだ。

多分、こんな思想背景だと思うんだけどどうだろう。