Abstraction
- Providing essential general features without providing implementation details using an abstract class or an interface.
Encapsulation
- Key advantage of using an object oriented programming language like java is that it provides your code security, flexibility and easy maintainability through encapsulation.
- helps in binding data and member functions of a class
- useful in hiding data of a class from an illegal direct access
Polymorphism
- having multiple forms. taking place when an object is accessed in multiple ways.
- when an object is accessed using reference variable of it's own class
- object is accessed by using reference variable of it's super class.
- there are 2 types of polymorphism
Inheritance