1. Inheritance allows a derived class to inherit characteristics from a base class while also adding its own unique characteristics.
2. Generalization involves extracting common characteristics from classes into a new base class that the original classes inherit from.
3. Subtyping (extension) means the derived class is behaviorally compatible with the base class, while specialization (restriction) means the derived class is behaviorally incompatible.