An object is a value that can be created, stored and manipulated. A class is a programmer defined data type. An object can be thought of as an instance of, or a distinct occurrence of, a particular class definition. The class definition determines what can be done with and to the object.