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 bewerken

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 bewerken

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