when something is certain or specific then it comes under the term of "specialization". when overall view is given or talking about a subject or topic by taking its broader view then it will be "generalization".
This article explains both generalization and specialization clearly. http://sourcemaking.com/uml/modeling-it-systems/structural-view/generalization-specialization-and-inheritance Generalization involves extracting shared characteristics from two or more individual classes and combining them all into one "generalized" superclass. Specialization is the opposite of this process. You create more than one subclass from the singular superclass. You take the (attribute)s that are unique and create a specific subclass for each of them. The trick is to realize what attributes go together and which attributes stand alone. The 2 diagrams in the article help tremendously. Some things are better explained in pictures and not in words.
Generalization identifies the commonalities among a set of entities. The commonality may be of data's (attribute), methods(behavior) or both. The generalization/specialization represents is-a relationship. The main theme of generalization/specialization is that class (the specialization )is a subset of another class(the generalization). The direction of is-a relation goes from the specialization to the generalization. This means that specialization class is a generalization class. .Net Training in chennai
All the above answer are very good in detail about specialization and generalization but I would like to say specially thanks to "Chris" for explaining in a good manner.
The process of extracting common characteristics from two or more classes and combining them into a generalized superclass, is called Generalization. The common characteristics can be attributes or methods. Generalization is represented by a triangle followed by a line. Specialization is the reverse process of Generalization means creating new sub classes from an existing class. Let’s take an example of Bank Account; A Bank Account is of two types – Current Account and Saving Account. Current Account and Saving Account inherits the common/ generalized properties like Account Number, Account Balance etc. from a Bank Account and also have their own specialized properties like interest rate etc.