C# Generic

2021. 1. 27. 11:12개발 관련 학습정리/C#

반응형

 

 

 

Generic

c#에서는 Generic이라는 타입을 사용할 수 있는데, Generic 타입은 int/double과 같은 데이터 타입을 

정하지 않고 타입 자체를 파라미터로 받아들이도록 정의할 수 있다.

또한 변수 뿐만아니라 메서드, 클래스, 인터페이스 등에서도 사용할 수 있다.

 

    class GenericStack<T>
    {
        T[] _objlist;
        int position = 0;

        public GenericStack(int size)
        {
            _objlist = new T[size];
        }

        public void Push(T newvalue)
        {
            _objlist[position++] = newvalue;
        }

        public T Pop()
        {
            return _objlist[position--];
        }
    }

해당 클래스는 stack 자료구조를 Generic을 이용하여 구현한 예제이다.

T 타입 파라미터를 이용하여 stack안에는 여러 파라미터 타입이 들어갈 수 있다.

자료를 담는 _objlist를 T 타입으로 선언하고, 생성자에서 size만큼 배열을 선언한다.

 

 

GenericStack<int> intstack = new GenericStack<int>(5);
GenericStack<string> strstack = new GenericStack<string>(10);

이와 같이 <>안에 자료형을 담아 선언할 수 있다.

<>안에는 꼭 자료형 뿐만 아니라 또다른 클래스도 담을 수 있다.

 

 

 

반응형

'개발 관련 학습정리 > C#' 카테고리의 다른 글

디자인 패턴 - 싱글톤 (Singleton)  (0) 2021.04.01
C# 람다 식 Lambda  (0) 2021.01.27
C# 추상클래스와 인터페이스  (0) 2021.01.26
C# Delegate  (0) 2021.01.25
c# property  (0) 2021.01.12