3. Stack이 아닌 Stack<T> 클래스를 사용하면 값형 데이터를 참조형 데이터로 변환하는 박싱 작업과 그 반대로 참조형 데이터를 값형 데이터로 변환하는 언박싱 작업을 하지 않아도 되므로 성능이 향상됩니다. 또 Stack<int>처럼 명확하게 int 형식 데이터만 받게 지정하면 string 형식이 들어올 때 에러를 발생시키므로 안정적입니다.
> //제네릭 장점: ⓐ 박싱과 언박싱에 대한 비용 > Stack stack = new Stack(); > stack.Push(1234); //int(값형) to object(참조형): 박싱 > int num = (int)stack.Pop(); //참조형 to 값형: 언박싱 > num 1234 > > //제네릭 장점: ⓑ 필요한 데이터 형식만 사용하여 형식이 안정적 > Stack<int> stack = new Stack<int>(); > stack.Push("Hello"); (1,12): error CS1503: Argument 1: cannot convert from 'string' to 'int' > stack.Push(5678); > int num = stack.Pop(); > num 5678