본문 바로가기

워크/C# 기본 문법

제네릭

C#에서 제네릭을 사용하는 예시는 다음과 같습니다:

using System;

namespace GenericExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 정수형 인스턴스 생성
            MyGenericClass<int> myInt = new MyGenericClass<int>(10);
            myInt.ShowType();

            // 문자열형 인스턴스 생성
            MyGenericClass<string> myString = new MyGenericClass<string>("Hello");
            myString.ShowType();
        }
    }

    class MyGenericClass<T>
    {
        private T genericMember;

        public MyGenericClass(T value)
        {
            genericMember = value;
        }

        public void ShowType()
        {
            Console.WriteLine("Type of genericMember is: " + typeof(T));
            Console.WriteLine("Value of genericMember is: " + genericMember);
        }
    }
}

이 예제에서는 MyGenericClass라는 제네릭 클래스를 선언하고 사용합니다. MyGenericClass는 T라는 타입 파라미터를 가지고 있습니다. 이 클래스는 genericMember라는 멤버 변수와 ShowType이라는 메서드를 가지고 있습니다.

Main 함수에서는 MyGenericClass의 정수형 인스턴스 myInt와 문자열형 인스턴스 myString을 생성하고, 각각의 ShowType 메서드를 호출하여 타입과 값을 출력합니다.

제네릭을 사용하면, 클래스, 인터페이스, 메서드를 선언할 때 타입을 고정하지 않고, 사용할 때 타입을 지정할 수 있습니다. 이를 통해 코드의 재사용성을 높이고, 타입 안전성을 확보할 수 있습니다.

 

 

 

 

 

'워크 > C# 기본 문법' 카테고리의 다른 글

람다 식  (0) 2023.09.06
예외 처리  (0) 2023.09.06
인터페이스  (0) 2023.09.04
다형성  (0) 2023.09.03
상속  (0) 2023.09.03