본문 바로가기
카테고리 없음

[C#] 함수 오버로딩

by 후야- 2024. 3. 19.

◾ 함수 오버로딩

-> 함수 이름의 재사용

using System.Security.Cryptography.X509Certificates;

namespace CShop
{
    class Program
    {
        
        // 함수 이름의 재사용
        static int Add(int a, int b)
        {
            Console.WriteLine("int 호출");
            return a + b;
        }
        // 재사용 룰 : 같은 이름을 사용할거면 매개변수가 같으면 안된다!
        static float Add(float a, float b)
        {
            Console.WriteLine("float 호출");
            return a + b;
        }

        static void Main(string[] args)
        {
            int ret = Add(1, 2);
            float ret2 = Add(2.33f, 3.2f);
            Console.WriteLine(ret);
            Console.WriteLine(ret2);
        }
    }
}

 

 

◾ 선택적 매개변수

using System.Security.Cryptography.X509Certificates;

namespace CShop
{
    class Program
    {

        // 선택적 매개변수
        static int Add(int a, int b, int c = 0)      // 3번째 인자는 아무것도 적지 않으면 0이라고 하겠다.
        {
            return a + b + c;
        }

        static void Main(string[] args)
        {
            int ret = Add(1, 2, 5);
            Console.WriteLine(ret);
        }
    }
}

        static void Main(string[] args)
        {
            int ret = Add(1, 4);     // 세번째 인자는 값이 0 이므로 안적어도 0으로 적용
            Console.WriteLine(ret);
        }