더북(TheBook)

제네릭 클래스 사용의 장점

제네릭 클래스를 사용할 때 얻는 장점을 다음 단계별 코드로 살펴보겠습니다. 프로젝트 기반 소스는 GenericPros.cs 파일입니다.

 

1.   먼저 제네릭 클래스가 아닌 Stack 클래스를 사용해 보겠습니다. Stack 클래스는 System.Collections 네임스페이스에 있는 오래된 클래스입니다.

> //① 제네릭 사용 전
> using System.Collections;
> Stack stack = new Stack();
> stack.Push(3840);
> int width = (int)stack.Pop(); //Convert 필요
> width
3840

일반 클래스를 사용하면 Push() 메서드에 object로 값을 받고 Pop() 메서드에서도 object로 반환하기에 (int) 코드를 붙이는 것과 같은 형식 변환이 필요합니다.

2.   Stack<T> 클래스는 제네릭 클래스로 System.Collections.Generic 네임스페이스에 있습니다.

> //② 제네릭 사용 후
> using System.Collections.Generic;
> Stack<int> stack = new Stack<int>();
> stack.Push(2160);
> int height = stack.Pop(); //Convert 필요 없음
> height
2160

제네릭 클래스를 사용하면 Stack<T> 클래스에 지정된 Stack<int> 형태로 int 형식의 데이터만 받고, Pop() 메서드에서도 int 형식으로 반환하기에 따로 형식 변환이 필요 없습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.