overloading – 오버로딩
오버로딩이란 프로그래밍 언어에서 한 객체가 상황에 따라 다른 의미를 가질 수 있도록 해주는 특색을 의미한다.
이 용어는 피연산자의 데이터 형식이나 클래스에 따라 다르게 행동하는 연산자와 관련하여 가장 자주 사용된다.
예를 들어, x + y는 x와 y가 단순히 정수냐 혹은 복합적인 데이터 구조냐에 따라 다른 의미를 가질 수 있다.
모든 프로그래밍 언어가 오버로딩을 지원하는 것은 아니며, C++와 자바 등과 같은 대부분의 객체 지향형 언어의 특색이다.
결국 오버로딩이란 다형성의 한 형식이라 할 수 있다.