int, float 같은 모든 자료형 및 모든 클래스의 조상
박싱 : 기본 자료형들을 비롯한 모든 클래스의 조상이기 때문에 업 캐스팅 개념으로 int, string 같은 기본 자료형들을 Object 하나로 참조하는 과정
언박싱 : 원래 자료형으로 되돌릴 경우 다운 캐스팅 하는 과정
박싱 / 언박싱 과정은 성능이 좋지 않음
object는 박싱 언박싱 과정에서 성능이 좋지 않으므로 Generic을 통해서 일반화함
Generic은 컴파일 타임에 결정되기 때문에 성능이 더 빠름
C#에만 있는 문법으로 특수화 할때 사용
구체화할 경우에는 where T : type T를 type 타입으로만 구체화 하도록 제약을 줄 수 있음
where T : struct
where T : class
where T : new()
where T : 특정 클래스 이름
where T : 인터페이스 이름
where T : U