제네릭 클래스 사용의 장점
제네릭 클래스를 사용할 때 얻는 장점을 다음 단계별 코드로 살펴보겠습니다. 프로젝트 기반 소스는 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 형식으로 반환하기에 따로 형식 변환이 필요 없습니다.