A constructor is a special method used to initialize an object when it is created in object-oriented programming.
Inheritance is one of the key principles of object-oriented programming (OOP) which allows a class to inherit properties and methods from another class.
Polymorphism enables the same entity (like a method or object) to behave differently in various scenarios.
Method overloading takes place in the same class. It is determined during compile-time and its key feature is that it has different parameter lists.
Method overriding is determined during run-time and happens between parent and child classes. Its key feature is that it has the same name and parameter list.
There are multiple types of inheritance namely single inheritance, multilevel inheritance, and hierarchical inheritance.
The 'this' keyword refers to the current object of the class and 'super' keyword is used to refer to the parent class in a child class.
Inheritance allows you to reuse code instead of rewriting it and create a hierarchy between classes for better organization.
Polymorphism enables the same interface to represent different behaviors depending on the context.
Encapsulation and Abstraction are two more pillars of object-oriented programming and will be explained in detail in the next blog.