Overloading is het gegeven dat, in een computerprogramma, verschillende functies (of methodes of procedures) dezelfde naam hebben, maar zich slechts onderscheiden doordat ze met andere argumenten (of parameters) aangeroepen worden.
Voorbeeld
drukaf("dit is een tekst") // afdrukken van een tekst drukaf(10) // afdrukken van een integer drukaf(cirkel) // afdrukken van het object cirkel
Hier worden geheel verschillende functies aangeroepen die allen 'drukaf' heten.
Toepassing
Overloading wordt toegepast omdat het de broncode leesbaarder maakt.
Er zijn een aantal nadelen:
- het is iets lastiger te debuggen;
- impliciete typecasts kunnen, in combinatie met overloading, de broncode dubbelzinnig maken;
- het is, bij overdreven gebruik, strijdig met polymorfisme