(1) In
programming languages, a feature that allows an object to have different meanings depending on its context. The term is used most often in reference to
operators that can behave differently depending on the
data type, or
class, of the
operands. For example,
x+y can mean different things depending on whether
x and
y are simple
integers or complex
data structures.
Not all programming languages support overloading but it is a feature of most object-oriented languages, including C++ and Java. Overloading is one type of polymorphism.
(2) Another name for port address translation.