1. Encapsulation
It is the concept of hiding complexity, by grouping related functionality together. Without encapsulation, we could never build large apps or systems.
2. Inheritance
Binding two classes into a relationship that can not be broken. So one class inherits the members of another.
3. Polymorphism
One variable can point to different types of objects.
Objects can behave differently depending on their types.