Postoje mnoge razlike između preopterećenja metoda i preklapanja metoda u Javi. Lista tih razlika je data u sljedećoj tabeli:
Br. |
Preopterećenje metoda |
Preklapanje metoda |
1) |
Preopterećenje metoda se koristi da poboljša čitljivost programa. |
Preklapanje metoda se koristi da obezbijedi specifičnu implementaciju metoda koji je već obezbijeđen od njegove superklase. |
2) |
Preopterećenje metoda se izvodi unutar klase. |
Preklapanje metoda se javlja u dve klase koje imaju IS-A (nasljeđivanje) relaciju. |
3) |
U slučaju preopterećenja metoda, parametar mora biti različit. |
U slučaju preklapanja metoda, parametar mora biti isti. |
4) |
Preopterećenje metoda je primjer compile time polimorfizma. |
Preklapanje metoda je primjer run time polimorfizma. |
5) |
U Javi, preopterećenje metoda se ne može izvesti samo promjenom return tipa metoda. Return tip može biti isti ili različit u preopterećenju metoda. Ali neophodno je promijeniti parametar. |
Return tip mora biti isti ili kovarijantan u preklapanju metoda. |
Primjer preopterećenja metoda u Javi
class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} }
Primjer preklapanja metoda u Javi
class Animal{ void eat(){System.out.println("eating...");} } class Dog extends Animal{ void eat(){System.out.println("eating bone...");} }
Objektno orijentisano programiranje u Javi Index