10. 오버로딩 — 웹툰PD 지망생 : 정민재
10. 오버로딩
●/섹션 2. 코드의 흐름 제어

10. 오버로딩

728x90
using System;

namespace Csharp
{
    class Program
    {
        //오버로딩 = 함수 이름의 재사용
        static int Add(int a, int b)
        {
            Console.WriteLine("Add int 호출");
            return a + b;
        }

        //첫 번째 모델 : 매개변수 갯수를 바꾸는 것으로 오버로딩을 할 수 있다.
        static int Add(int a, int b, int c)
        {
            Console.WriteLine("Add int 호출2");
            return a + b + c;
        }

        //두 번째 모델 : 매개변수 자료형을 바꾸는 것으로 오버로딩을 할 수 있다.
        static float Add(float a, float b)
        {
            Console.WriteLine("Add float 호출3");
            return a + b;
        }

        //세 번째 모델 : 선택적 매개변수(매개변수를 선언하면서 동시에 정의한 매개변수를 넣는 것)
        //이 모델은 오버로딩이 안되므로, 단독으로 쓰자.
        static int Add100(int a, int b, int c, int d = 100)
        {
            Console.WriteLine("Add int 호출4");
            return a + b + c + d;
        }
        static void Main(string[] args)
        {
            int ret = Add(2, 3);
            int ret2 = Add(1, 2, 3);
            float ret3 = Add(2.0f, 3.0f);
            int ret4 = Add100(1, 2, 3);

            Console.WriteLine(ret);
            Console.WriteLine(ret2);
            Console.WriteLine(ret3);
            Console.WriteLine(ret4);
        }
    }
}

 

 

728x90

' > 섹션 2. 코드의 흐름 제어' 카테고리의 다른 글

11.연습문제  (0) 2021.07.11
09. ref, out  (0) 2021.07.10
08. 함수(ref)  (0) 2021.07.10
07.break, continue(흐름 제어)  (0) 2021.07.10
06. for  (0) 2021.07.10