클래스 생성자를 이용한 메소드 오버로딩

2016. 12. 14. 16:32C# 콘솔( Console )/클래스

1. MSDN

클래스(C# 프로그래밍 가이드)


2. 클래스

3. 메소드 오버로딩

=> 생성자를 선언하고 생성자의 인자의 자료형과 인자의 수에 따라 호출되는 메소드가 달라지는 것을 말합니다.


4. 참고

sky.ph


ex)



    class yuchae

    {

        public int num1 = 0, num2 = 0, num3 = 0, sum1 = 0;

        public double num4 = 0, num5 = 0, sum2 = 0;



        public yuchae(int num1, int num2)

        {

            sum1 = num1 + num2;

        }


        public yuchae(double num1, double num2)

        {

            sum2 = num4 + num5;

        }


        public yuchae(int num1, int num2, int num3)

        {

            sum1 = num1 + num2 + num3;

        }

    }


    class Program

    {

        static void Main(string[] args)

        {

            yuchae yuchae1 = new yuchae(77, 7);

            yuchae yuchae2 = new yuchae(77.7, 7.7);

            yuchae yuchae3 = new yuchae(77, 7, 7);


            Console.WriteLine(yuchae1.sum1);

            Console.WriteLine(yuchae2.sum2);

            Console.WriteLine(yuchae3.sum1);

        }

    }

 


해설)


1. classA, classB 클래스 생성

A클래스의 이름을 yuchae, B클래스의 이름을 Program으로 생성하였습니다.


2. 클래스A에 변수선언

모든 코드에서 접근할 수 있도록 접근지정자를 public으로 지정하고 숫자형 값을 저장하고, 더한 결과를 저장할 int형과 double형의 변수를 생성하였습니다.


3. 클래스A에 메소드 생성

매개변수의 자료형과 인자의 수를 지정하여 생성합니다.


4.클래스B에서 클래스A 메소드 호출

-가)

   -1) yuchae yuchae1 = new yuchae(77, 7);

       -> yuchae1을 new메소드를 사용하여 새로 인스턴스를 만들면서 정수형 인자 2개를 입력해 직접 정의하였습니다.

   -2) Console.WriteLine(yuchae1.sum1);

       -> 매개변수의 자료형이 정수이고, 인자의 수가 2개인 클래스A의 public yuchae(int num1, int num2) 메소드를 호출합니다. num1의 값이 77, num2의 값이 7이고 sum1 = num1 + num2이므로 77 + 7 = 84를 sum1에 저장합니다.

       -> 저장된 클래스A의 sum1의 값을 출력합니다.


-나)

   -1) yuchae yuchae2 = new yuchae(77.7, 7.7);

       -> yuchae2을 new메소드를 사용하여 새로 인스턴스를 만들면서 실수형 인자 2개를 입력해 직접 정의하였습니다.

   -2) Console.WriteLine(yuchae2.sum2);

       -> 매개변수의 자료형이 실수이고, 인자의 수가 2개인 클래스A의 public yuchae(double num1, double num2) 메소드를 호출합니다. num1의 값이 77.7, num2의 값이 7.7이고 sum2 = num1 + num2이므로 77.7 + 7.7 = 85.4를 sum2에 저장합니다.

       -> 저장된 클래스A의 sum2의 값을 출력합니다.


-다)

   -1) yuchae yuchae3 = new yuchae(77, 7, 7);

       -> yuchae3을 new메소드를 사용하여 새로 인스턴스를 만들면서 정수형 인자 3개를 입력해 직접 정의하였습니다.

   -2) Console.WriteLine(yuchae3.sum1);

       -> 매개변수의 자료형이 정수이고, 인자의 수가 3개인 클래스A의 public yuchae(int num1, int num2, int num3) 메소드를 호출합니다. num1의 값이 77, num2와 num3의 값이 7이고 sum1 = num1 + num2 + num3이므로 77 + 7 + 7 = 91를 sum1에 저장합니다.

       -> 저장된 클래스A의 sum1의 값을 출력합니다.






'C# 콘솔( Console ) > 클래스' 카테고리의 다른 글

추상클래스 & 봉인클래스  (0) 2016.12.14
클래스 상속  (0) 2016.12.14
클래스  (0) 2016.12.13