4 major princple

Inheritance

Example: Child class extends from Parent class and implement Interface

Encapsulation

Wrapping up of data and methods into a single unit is Encapsulation. In a class we combine data(variables ) and method that are operated on that data. (e.g. Class)

Abstraction

It is an act of representing only the essential things without including background details. Like we are providing only method declaration in interface not method body (e.g. Interface)

Polymorphism

Example method have same name but do different thing (eg: Override and overload method)

## Reference https://www.quora.com/What-is-the-exact-difference-between-abstraction-encapsulation-and-information-hiding-in-OOP-object-oriented-programming https://stackoverflow.com/questions/24626/abstraction-vs-information-hiding-vs-encapsulation