とりあえず 「クラスは型である」は間違いである - SiroKuro Page を整理してみようと思った。 自分が考える『クラス』という語句を可能な限り明確にするために、色々と参考にして次のように分けて考える。 クラス定義(ソースコードの記述) クラス型 クラス(java.lang.Class のインスタンス) 変数宣言を記述する際のクラス名 前提:「クラス定義」は「クラス型」および「クラス」を定義する これはたぶん正解で問題ない。 命題その1:「クラス定義 != クラス型」 定義と型そのものは厳密には同じではない。たぶん。 命題その2:「クラス定義 != クラス」 定義とクラスそのものは厳密には同じではない。たぶん。 命題その3:「クラス型 != クラス」 これがそもそもの問題。自分のイメージとしては クラス型が表す情報は型に関する情報のみで、実装の詳細は含まれていないだろう クラスが持