Do you assign a subclass object to a Superclass instance type only for overriding? Or are we doing this for something else also?
Example: Sub is subtype of Super and
The characteristics of OO design that allows this (to handle object as instances of a common supertype) is called polymorphism.
One would assign a sub-type instance of to a supertype variable to handle all possible subtype classes in a uniform fashion, e.g. using methods declared (but possibly overriden) by the supertype class.
Related OO topics you might find interesting to read about: