Objects are entities which have parts and behavior.
They can be simple entities like integers, reals, or strings, or more complex entities like dictionaries, widgets or managers. To specify the parts and behavior for an object, a type must be defined. For example, the existing type Integer specifies that all integers have a value and can perform operations like addition and subtraction. The integer 4 and the integer 44 are different integer objects with different values, but both perform the same addition defined in Type Integer because they are of the same type. New functionality is added to ABC primarily through the design of new types.