Difference between Classification and Generalization
Articles by Bala Paranj
Classification is the process of finding similarities in a number of things and creating a label to represent the group. This simplifies
the communication by enabling us to simply speak or think of the group in terms of label rather than specify an individual thing.
For instance, you observe that in the real world you find things which have pages, a cover, visual content etc. You classify them as
Books. Now, you find some other things which have magnetic material enclosed within a case, audio content etc. You classify them as Audio Cassette.
Now, you can find some degree of commonality between these two: they both provide information intended for human usage, they have a
certain price etc. You can classify them as Communication Media. So, you can repeatedly apply classification and build a tree. This is
called taxonomy.
When we talk about classification, we are considering the "things", in other words, the real world things are nothing but real
world "instances of classes" in OO terminology. You can think of it as "collection of objects"
The "label" that you assign at the end of the classification process is called as the "class" in OO terms. So, this classification process
can be thought of as (from OO perspective): Class defines the characteristics of all objects of its type. In other words, class is "classification of objects".
Both Classification and Generalization use Abstraction by Commonality. Abstraction by Commonality is a term that describes the process of finding and naming the common and essential features. The difference is that Classification works on objects resulting in classes whereas Generalization works on classes resulting in super-classes.
Note from comp.object:
The Classification is a relationship between object & type. The generalization is a relationship between types. This is the same as what Fowler says in UML distilled.
Reference: Object Thinking (DV-Microsoft Professional) by David West
OOAD skills for the real world projects
Study Guide - Object Oriented Analysis and Design with UML