メタクラス

(コンピュータ)
めたくらす

クラスベースのオブジェクト指向言語において、インスタンスがクラスを示すオブジェクトとなるようなクラスをメタクラスと呼ぶ。
つまりクラスのクラスであるが、メタクラス自体も一般のクラスであるかどうかは言語によって異なる。(例えば Smalltalk においてはメタクラスである Metaclass は一般のクラスではなくメタクラスである。一方 Ruby においてはクラスを示すオブジェクトのクラスである Class は一般のクラスと同じクラスである。Java においてはクラスそのものはオブジェクトではないが、リフレクション等でクラスを示すのに使われる java.lang.Class は一般のクラスと同じクラスである)
メタクラスの概念を持つ言語では、クラスそのものを第一級オブジェクトとして扱うことができる。クラス内のメソッド等を取り扱うリフレクションのために有用である。
一方、クラスに複雑な関係構造を提供するメタクラスの概念は、習得が難しい傾向にある。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

ネットで話題

もっと見る

関連ブログ