Generalization and Specialization
Generalization and Specialization are the inverse of each other. It only differs in the design process.
Generalization is a bottom-up design process whereas Specialization is a top-down design process.
They both belong to inheritance. It is using the "extends" keyword in Java.
Realization in Java
Realization is the relationship between the class and the interface. It is using the “implements” keyword in Java. A realization relationship connector appears as a dashed line with an unfilled arrowhead.