a fundamental object-oriented programming (OOP) concept that allows a new class (the derived class) to reuse, extend, and modify the behavior of an parent class (the base class).