In terms of Java, when someone asks:
what is polymorphism?
Would overloading or overriding be
You are correct that overloading is not the answer.
Neither is overriding. Overriding is the means by which you get polymorphism. Polymorphism is the ability for an object to vary behavior based on its type. This is best demonstrated when the caller of an object that exhibits polymorphism is unaware of what specific type the object is.