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);
        }

 

 

 

반응형