"Generalization is the process of extracting shared characteristics from two or more classes, and combining them into a generalized superclass. Shared characteristics can be attributes, associations, or methods."
"In contrast to generalization, specialization means creating new subclasses from an existing class."
Those two lines were excerpts from this
article [
^]- an excellent one. it explains all nuances well enough.