Whats the difference between polymorphism and overidding , and abstraction?
So this is my understanding. Polymorphism is basically when one thing can be implemented differently many times correct? For example, All animals can make a sound, so if i had a main class called animal and passed the following method in the main class : public void Noise(){ System.out.println("Makes Noise"); } And then created 2 more classes called , dog and cat and made then such that they inherit the Animal class and then pass the same Noise method in them with their own implementation : "woof" and "meow". This is polymorphism correct? It seems very similar to abstraction. For abstraction you can also pass a method Noise since its general and then you can simply give the method different implementations according to the specific class. So whats the deal? Sorry for the grammar and sentence structure.