컴파일 시간 동안 함수와 개체를 연결하는 것을 정적 바인딩이라고 합니다. C#은 정적 다형성을 구현하는 두 가지 기술인 함수 오버로딩과 연산자 오버로딩을 제공합니다.
함수 오버로딩에서는 동일한 범위에서 동일한 함수 이름에 대해 여러 정의를 가질 수 있습니다.
예시
void print(int i) { Console.WriteLine("Printing int: {0}", i ); } void print(double f) { Console.WriteLine("Printing float: {0}" , f); }
오버로드된 연산자는 특별한 이름을 가진 함수입니다. 키워드 operator IS 다음에 정의되는 연산자에 대한 기호가 옵니다.
예시
public static Box operator+ (Box b, Box c) { Box box = new Box(); box.length = b.length + c.length; box.breadth = b.breadth + c.breadth; box.height = b.height + c.height; }