C#/C#_기초강의
(C#) 메서드 오버로딩 method overloadding
코딩ABC
2023. 4. 27. 16:28
반응형
메서드 오버로딩은 객체지향 프로그램에서 매개변수의 개수를 달리하거나 타입을 다르게 해서 같은 이름의 메서드를 여러개 정의해서 사용할 수 있게 하는 개념입니다.
아래의 Calculator 클래스에는 같은 이름의 Add 메서드가 3개 정의되어 있습니다.
메서드 오버로딩 |
매개 변수의 개수를 다르게 한다. |
매개 변수의 타입(type)을 다르게 한다. |
(주의) 메서드의 반환형을 다르게 해서 오버로딩을 구현할 수 없다. |
class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
public int Add(int a, int b, int c)
{
return a + b + c;
}
public double Add(double a, double b)
{
return a + b;
}
}
위에서 정의한 Calculator 클래스를 사용하는 C# 코드입니다.
using System;
internal class Program
{
static void Main(string[] args)
{
Calculator calc = new Calculator();
int a = calc.Add(10, 20);
int b = calc.Add(10, 20, 30);
double c = calc.Add(11.1, 22.2);
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
}
}
아래와 같이 메서드의 반환형을 달리해서 오버로딩을 구현할 수 없습니다.
public int Add(int a, int b)
{
return a + b;
}
public double Add(int a, int b) // 여기에 오류가 있습니다.
{
return (double)(a + b);
}
반응형