Object oriented programming or popularly known as oops is a programming model or approach where the programs are organised around objects and classes rather than logics and functions.
A class is a blueprint for objects which includes all your data a class contains data members and methods to describe the state and behaviour of an object.
An object is a real world entity that has a state and behaviour. Basically object is an instance of a class it has two characteristics state and behaviour.
The wrapping of data and function together in a single unit is known as encapsulation.
The process of hiding the details from the outside world and providing information only as much as they require.
Inheritance is a feature of oops in which a class acquires properties of another class.
The word polymorphism means having many forms the ability of a message to be displayed in more than one form. In simple language, we can say one interface many implementations.
Method overloading is compile time polymorphism. It allows a class to define multiple methods with the same name, but different signatures.
Method overriding is runtime polymorphism. If a subclass provides the specific implementation of the method that has been declared by one of its parent class, it is known as method overriding.