Two classes exist: Animal and Tiger (Animal is the super class, and Tiger is a subclass)
Now, we make an object Animal a = new Tiger();
Why does this Animal a not have the capabilities of a Tiger class?
If I declare Animal a = new Tiger();, this is practically the same thing as Animal a = new Animal(); since Animal a = new Tiger(); strips away all the extra functions and variables that Tiger has (I believe because the refrence object is Animal and not Tiger)
So what's the point here? Why do this? Why would I declare Animal a as Tiger, when it strips away all Tiger attributes and methods?