o Abstraction refers to the act of representing essential features without including the background details or explanations.
o Encapsulation is an act of wrapping up of data and methods into a single
unit (called class). It is one of the most fundamental concepts of the Object
Oriented programming. The very insulation of the data from direct access by the program is termed as Data Hiding. Encapsulation, is hence, just a way to implement Abstraction.
o Inheritance is the process by which objects of one class acquire the properties of objects of another class. This further provides an important
extension to the idea of reusability. i.e. a particular programmer can make use of an existing class and without any further modifications, add
additional features and capabilities to it, by deriving a new class from the
existing one, through inheritance.
o Polymorphism is the capacity to allow objects having different internal structures to share the same external interface. It is the ability for a message or data to be processed in more than one form.