c# 오버로딩 예제

C # 4에는 현재 사용할 수있는 더 널리 적용 가능한 종류의 변환이 있습니다 : 일반 공분산 및 모순. 예: 이 책의 첫 페이지부터 클래스를 사용 해 왔습니다. 이전 예제를 약간 변경해 보겠습니다: 각 예제에서는 몇 가지 메서드를 선언하고 하나를 호출하는 짧은 프로그램을 제공한 다음 C#의 어떤 버전에서 호출되는 것과 그 이유를 설명하겠습니다. 디자인 결정에 집중하려고 하는 것이 아니라 C# 컴파일러가 내리는 기계적 선택에만 집중하려고 노력하지 않았기 때문에 예제를 사실적으로 수행하거나 현실적인 이름을 부여하지 않았습니다. 자체 서명. 물론 수행 된 작업은 관련이 없지만 코드를 잡고 원하는 경우 쉽게 실험 할 수 있습니다. 컴파일러는 반환 값만으로는 컴파일러가 호출해야 하는 함수를 파악하기에 충분하지 않기 때문에 오류를 제공합니다. 두 메서드에 매개 변수 형식이 다른 경우에만(따라서 다른 시그니처가 있음) 메서드 오버로드가 가능합니다. 예 : 관련된 여러 매개 변수가있는 경우 한 메서드가 다른 매개 변수를 “이길”려면 각 매개 변수에 대해 적어도 양호해야하며 적어도 하나의 매개 변수에 대해 더 좋습니다. 이 방법은 방법별 비교에서 수행됩니다.

예를 들어 동일한 함수의 여러 버전을 정의하여 동일한 코드를 여러 위치에 두지 않도록 하려면 어떻게 해야 합니까? 그것은 실제로 매우 간단합니다 : 우리는 메소드의 간단한 버전이 복잡한 버전의 모든 작업을 수행하게합니다. 다음 예제를 고려하십시오: 이름이 같지만 매개 변수가 다른 두 개 이상의 메서드를 갖는 것을 C#에서 메서드 오버로드라고 합니다. 메서드 오버로드는 다형성을 구현하는 일반적인 방법입니다. 두 개 이상의 형태로 함수를 재정의하는 기능입니다. 사용자는 동일한 이름을 공유하는 클래스에서 둘 이상의 함수를 정의하여 함수 오버로드를 구현할 수 있습니다.

Posted in Uncategorized