1. Inheritance is a mechanism where a new class is derived from an existing class, known as the base or parent class. The derived class inherits properties and methods from the parent class.
2. There are 5 types of inheritance: single, multilevel, multiple, hierarchical, and hybrid. Multiple inheritance allows a class to inherit from more than one parent class.
3. Overriding allows a subclass to replace or extend a method defined in the parent class, while still calling the parent method using the super() function or parent class name. This allows the subclass to provide a specific implementation of a method.