"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.