Object
-  Encapsulates data and code 
-  Fields contain data 
-  Methods contain code for acting on the data 
-  Every object has its own copy of the data 
-  Same objects are typically grouped into a class 
-  Classes can also contain data and code shared among all objects 
-  Classes can be organised in an inheritance hierarchy 
-  Each derived class inherits the fields and methods of its base class 
-  Polymorphism allows objects of any derived class to be used as objects of the base class