모름

일반화 프로그래밍

 

이번엔 일반화 클래스를 작성해봄으로 인해서 데이터 형식을 일반화해보는 연습을 해보겠습니다.

 

 

 


 

 

 

코드

 

class MyClass<T> {
    T[] array;

    public MyClass() {
        array = new T[3];
    }

    public T this[int index] {
        get {
            return array[index];
        }
        set {
            if(index >= array.Length) {
                Array.Resize<T>(ref array, index + 1);
                Console.WriteLine($"Array Resized : {array.Length}");
            }
            array[index] = value;
        }
    }

    public int Length {
        get {
            return array.Length;
        }
    }
}

class Program {
    static void Main(string[] args) {
        MyClass<string> str_list = new MyClass<string>();
        str_list[0] = "하나";
        str_list[1] = "둘";
        str_list[2] = "셋";
        str_list[3] = "넷";
        str_list[4] = "다섯";

        for (int i = 0; i < str_list.Length; i++) {
            Console.WriteLine(str_list[i]);
        }

        MyClass<int> int_list = new MyClass<int>();
        int_list[0] = 1;
        int_list[1] = 2;
        int_list[2] = 3;
        int_list[3] = 4;
        int_list[4] = 5;
        int_list[5] = 6;
        int_list[6] = 7;
        int_list[7] = 8;

        for (int i = 0; i < int_list.Length; i++) {
            Console.WriteLine(int_list[i]);
        }

    }
}

 

 

 

 


 

 

 

출력

 

정상적으로 출력되고 있습니다. 멋지네요...!