What are the basic features of OOP?

The basic features of OOP are:

Encapsulation: Creation of self-contained modules that bind together the data and the functions that access that data.

Abstraction: Handles complexity and allows the implementation of further complex logic without disclosing it to the user object.

Polymorphism: Operation performed depends upon the context at runtime to facilitate easy integration.

Inheritance: Creation of classes in a hierarchy to enable a class inherit behavior from its parent class allowing reuse of code.