From GNUstepWiki

An object is a unit that groups a data structure (instance variables) and the operations (methods) that can use or affect that data.

Objects are the principal building blocks of object-oriented programs.


Anonymous Object

An object of unknown class. The interface to an anonymous object is published through a protocol declaration.

Class Object

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.

Factory Object

Same as a class object.

Instance Object

An object that belongs to (aka is a member of) a particular class.

Instances are created at run time according to the specification in the class definition (aka interface).

Remote Object

An object in another application, one that's a potential receiver for a remote message.