C#/수업 내용

오전 수업내용 : 일반화 메서드

Bueong_E 2023. 1. 10. 13:21
반응형
SMALL
using System;
using System.Collections;

namespace Study09
{
    class App
    {
        public App()
        {
            int[] arr0 = { 1, 2, 3 };
            int[] arr1 = new int[3];    //{0, 0, 0}
            CopyArray(arr0, arr1);

            string[] arr2 = { "홍길동", "임꺽정", "장길산" };
            string[] arr3 = new string[3];
            CopyArray(arr2, arr3);

            Hero[] arr4 = { new Hero(), new Hero(), new Hero() };
            Hero[] arr5 = new Hero[3];
            CopyArray(arr4, arr5);

            //일반화 메서드 
            CopyArray<int>(arr0, arr1);
            CopyArray<string>(arr2, arr3);
            CopyArray<Hero>(arr4, arr5);
        }

        void CopyArray<T>(T[] a, T[] b) {
            for (int i = 0; i < a.Length; i++)
            {
                b[i] = a[i];
            }
        }

        //Method OverLoading
        void CopyArray(Hero[] a, Hero[] b)
        {
            for (int i = 0; i < a.Length; i++)
            {
                b[i] = a[i];
            }
        }

        //Method OverLoading
        void CopyArray(string[] a, string[] b) {
            for (int i = 0; i < a.Length; i++)
            {
                b[i] = a[i];
            }
        }

        void CopyArray(int[] a, int[] b)
        {
            for (int i = 0; i < a.Length; i++) {
                b[i] = a[i];
            }
        }

    }
}
​
반응형
LIST