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;