Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 오버로딩이란 무엇입니까?

<시간/>

C#은 정적 다형성을 구현하는 두 가지 기술을 제공합니다. -

  • 함수 오버로딩
  • 연산자 과부하

함수 오버로딩

이름은 같지만 매개변수가 다른 두 개 이상의 메서드를 C#에서 함수 오버로딩이라고 합니다.

C#에서 함수 오버로딩은 인수의 수와 인수의 데이터 유형을 변경하여 수행할 수 있습니다.

숫자의 곱셈을 출력하는 함수가 있다고 가정해 보겠습니다. 그러면 오버로드된 메서드는 이름은 같지만 인수 수가 다릅니다. -

public static int mulDisplay(int one, int two) { }
public static int mulDisplay(int one, int two, int three) { }
public static int mulDisplay(int one, int two, int three, int four) { }

다음은 함수 오버로딩을 구현하는 방법을 보여주는 예입니다 -

using System;
public class Demo {
   public static int mulDisplay(int one, int two) {
      return one * two;
   }

   public static int mulDisplay(int one, int two, int three) {
      return one * two * three;
   }
   
   public static int mulDisplay(int one, int two, int three, int four) {
      return one * two * three * four;
   }
}

public class Program {
   public static void Main() {
      Console.WriteLine("Multiplication of two numbers: "+Demo.mulDisplay(10, 15));
      Console.WriteLine("Multiplication of three numbers: "+Demo.mulDisplay(8, 13, 20));
      Console.WriteLine("Multiplication of four numbers: "+Demo.mulDisplay(3, 7, 10, 7));
   }
}

출력

Multiplication of two numbers: 150
Multiplication of three numbers: 2080
Multiplication of four numbers: 1470

연산자 과부하

오버로드된 연산자는 키워드 operator 뒤에 정의되는 연산자에 대한 기호가 오는 특수 이름을 가진 함수입니다.

다음은 오버로드할 수 있는 연산자와 오버로드할 수 없는 연산자를 보여줍니다. -

Sr.No 연산자 및 설명
1 +, -, !, ~, ++, --
이러한 단항 연산자는 하나의 피연산자를 사용하며 오버로드될 수 있습니다.
2 +, -, *, /, %
이러한 이항 연산자는 하나의 피연산자를 사용하며 오버로드될 수 있습니다.
3 ==, !=, <,>, <=,>=
비교 연산자는 오버로드될 수 있습니다.
4 &&, ||
조건부 논리 연산자는 직접 오버로드할 수 없습니다.
5 +=, -=, *=, /=, %=
할당 연산자는 오버로드할 수 없습니다.
6 =, ., ?:, -<, new, is, sizeof, typeof
이러한 연산자는 오버로드할 수 없습니다.