Pure Java – 14 Java Tricks – Overloaded vs Overridden
Merhaba Arkadaslar,
Bu yazimda Overloaded ve Overridden kavramlari arasindaki farklardan ve triklerden bahsedecegim. Son 2 yazida Overriden ve Overloaded konusunu incelemistik, henuz incelememiz gereken bir kac detay durum daha var bunlara sirasi gelince deginecegiz.
Arguman tipi
- Overloaded metotlarda mutlaka degismek zorundadir.
- Overridden metotlarda mutlaka ayni olmalidir.
Donus tipi
- Overloaded metotlarda degisebilir, sorun cikartmaz.
- Overridden metotlarda , covariant return ( ilerleyen yazilarda deginecegim) haric , degisemez.
Exceptions(Istisnalar)
- Overloaded metotlarda degisebilir, eklenebilir sorun cikartmaz.
- Overridden metotlarda checked exception eklenemez fakat cikartilabilir.
- Unchecked exception eklenebilir/cikartilabilir. (Exception konusuna ilerleyen zamanlarda gelecegiz )
Erisim belirteci
- Overloaded metotlarda degisebilir.
- Overridden metotlarda daha az kisitlamali olacak sekilde degisebilir. public metodu private/protected/varsayilan erisim belirteci olacak sekilde override edemeyiz.
Metot Cagrilmasi
- Overloaded metotlarda referans tipi /reference type onemlidir ve argumanin tipine gore secim yapilmaktadir. ( Argumanin tipine gore secimle ilgili detayli bir overloaded yazisi ekleyecegim )
- Overloaded metotlar compile/derleme zamaninda hangi metodun cagrilacagi belirlenir.
- Overridden metotlarda objenin turu/ object type onemlidir.
- Overridden metotlarda calisma/runtime zamaninda dinamik olarak hangi metodun cagrilacagi objenin turune gore belirlenir. Buna Dynamic Method Dispatch denilir.
Buradaki her bir maddeyi ozumseyerek ornekler yaparak %100 anlamak gerekmektedir 🙂
Yazima burada son veriyorum,
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
injavawetrust
Leave a Reply