Inheritance
In plain terms
Letting one class reuse and extend the behavior of another.
Going deeper
A child class inherits fields and methods from a parent, adding or overriding behavior. It promotes reuse and models 'is-a' relationships, though overusing deep hierarchies can make code rigid.
Under the hood
Favor composition over deep inheritance to avoid fragile base-class and diamond problems; many languages restrict to single inheritance and use interfaces/mixins instead.
Examples
Animal β Dog β Puppy class chains; UI component base classes; exception hierarchies.
Think of it like...
Like a family recipe passed down: the child cook keeps grandma's base sauce but adds their own twist, without rewriting it from scratch.