The code within an object performs operations on the objects internal data. Polymorphism is the way that the Smalltalk language allows methods of the same name to have predictable and meaningful results in related instances, yet perform the operations differently to achieve the results. Polymorphism is typically implemented in Smalltalk through the abstraction of the common properties of a group of objects into classes and hierarchically subclassing shared properties using inheritance-along with specialization of the subclass to define the differences. Classes serve as templates because they define the instance variables for all the class instance variables and methods . An object is an encapsulated software component made up of memory and operations that creates a coherent programming entity.
All objects are an instance of a class.
Everything in Smalltalk is an object-from numbers to entire applications. Objects have public and private properties. An object's implementation details are private and are hidden from other objects. An object's public properties are its messages that make up its interface. The object's private properties are its variables.