In object-oriented programming, an object of class "class" that represents a class at run time. The existence of class objects allows introspection - the ability for a program to discover and modify attributes of its own code. (See self-modifying code). A class object may also be used for "housekeeping" tasks like keeping count of how many objects of the class have been created, though this may also be done by some kind of collection object. A class method is a method that operates on class objects.