Blog Content

    티스토리 뷰

    74.C# - 제네릭 클래스 (Generic Class)

    반응형
    Program.cs
    using System;
    public class 제네릭클래스
    {
        public static void Main()
        {
            //기본클래스 메서드 호출
            //Hello h = new Hello(); h.SayInt(1234); h.SayStr("안녕");

            //제네릭 클래스 호출
            Hello<int> hi = new Hello<int>(); hi.Say(1234);
            Hello<string> hs = new Hello<string>(); hs.Say("안녕");

            //생성자 호출
            Hello<string> say = new Hello<string>("반갑습니다.");
            say.Say();

            say.SayType();
        }
    }

    //제내릭 클래스 설계
    public class Hello<T> //제내릭 메서드로 설정<T>
    {
        //public void SayInt(int msg) { Console.WriteLine("{0}",msg); }
        //public void SayStr(string msg) { Console.WriteLine("{0}",msg); }
        //public void SyaObj(object msg) {
                           Console.WriteLine("{0}",msg); } //재일 편함 object 사용

         
        public void Say(T msg) {
                              Console.WriteLine("{0}", msg); } //제네릭 클래스 정의

           
        //생성자만들기   
        private T msg; //필드
        public Hello() { } //매개변수가 없는것
        public Hello(T msg) { this.msg = msg; } //매개변수가 있는것
        public void Say() { Console.WriteLine("{0}", this.msg); }

        public void SayType()
        {
            T temp; temp = default(T); //int : 0, string : null, bool = false;
                                                      기본값 출력 함(넘어오는 값이 없으면!)
                                                  //default는 초기화 해주기 위해 사용
            Console.WriteLine("{0}",temp);       
        }
    }
    //제네릭클래스 똑같은 클래스를 하나로 줄인다
    //하나의 변수에 제네릭사용

    결과화면


    74.Generic_Class.zip
    다운로드

    반응형

    Comments