Inheritance is a key feature of object-oriented programming (OOP) that allows for the creation of new classes (derived classes) from existing classes (base classes), promoting code reusability. It can be categorized into single, multiple, and multilevel inheritance, each with distinct characteristics and applications. Member accessibility of inherited classes is controlled through access specifiers: private, public, and protected.