Przeciążanie funkcji (ang. overloading) – skrótowa nazwa na przeciążanie nazwy funkcji; w programowaniu występowanie pod taką samą nazwą wielu funkcji różniących się zestawem argumentów. W trakcie kompilacji bądź parsowania program znajduje właściwą funkcję po liczbie oraz typach argumentów. Możliwe jest więc współistnienie kilku funkcji o tej samej nazwie, lecz różniących się typami argumentów.

Przykłady Przykład w języku C++ void funkcja (int);

void funkcja (int, char);

void funkcja (float, int);

Przykład w języku Object Pascal Przeciążanie funkcji w języku Object Pascal dostępne jest od środowiska Delphi w wersji 4. Możliwe jest zarówno przeciążanie funkcji jak i procedur. Przeciążenie możliwe jest dzięki dodaniu klauzuli overload po nazwie i parametrach funkcji.

procedure Foo(f: integer); overload;

procedure Foo(s: string; f: integer); overload;

procedure Foo(d: double; f: integer); overload;