An object which is a template for the creation of instance objects of the same type. For example, the the OrderedCollection class object creates instances of OrderedCollection. The class object itself does not have the same behavior and methods as the instance objects which it creates. By analogy, a biscuit cutter is a template for creating biscuits; however, you can't eat a biscuit cutter and you can't stamp a biscuit from another biscuit. In Object COBOL, all the methods and data for a class object and the instance objects which it creates are represented by a class program. The class object is created at run-time when a class is loaded.
In the Objective-C language, an object that represents a class and knows how to create new instances of the class. Class objects are created by the compiler, lack instance variables, and can't be statically typed, but otherwise behave like all other objects. As the receiver in a message expression, a class object is represented by the class name.