Metaclass
In object-oriented programming, a metaclass is a class whose syntactic definitions are used for the syntactic definition of the classes themselves. Unlike ordinary classes, which define the behaviors of objects, metaclasses specify the behaviors of classes and their instances.