Inheritance is one of the fundamental concepts in object-oriented programming where one class acquires properties and methods from another parent class. The child class, also known as a subclass, can extend or specialize the functionality of the parent class.
The ability for an object to take on many forms; it allows objects of different classes that share a common superclass to be treated as objects of the superclass type.
Method Overriding: A feature in inheritance where a child class provides its own implementation of a method defined in its parent class.