살아가는 이야기

재지정(overrding)과 중복지정(overloading) 본문

jargon

재지정(overrding)과 중복지정(overloading)

우균 2008. 5. 14. 14:21

재지정(overriding)은 객체지향 언어에서 사용되는 용어다. 수퍼클래스 A에 구현된 메소드 f를 서브클래스 B에서 더 구체적으로 정의할 때, f를 재지정한다(overriding)고 한다. 재지정되는 메소드의 시그너처(signature)는 같아야 한다.

중복지정(overloading)은 객체지향 언어와는 상관 없이 사용될 수 있는 용어다. 같은 이름 f를 이용하여 둘 이상의 다른 함수를 정의할 때, f는 중복지정된다(overloaded)고 한다. 예컨대 정수 두 개를 더하는 함수 int add(int, int);를 정의하고 같은 이름 add를 이용하여 실수 두 개를 더하는 함수 double add(double, double);을 정의한다면 add가 중복지정된 것이다. 재지정(overriding)과 달리 이 경우에는 메소드의 시그너처가 달라야 한다. 그래야만 중복지정된 이름을 구별하여 사용할 수 있기 때문이다.

Comments