[Effective C#] 아이템 23: 타입 매개변수에 대해 메서드 제약 조건을 설정하려면 델리게이트를 활용하라
인터페이스를 선언하고 제약조건으로 설정하면 다양한 제약 조건을 설정할 수 있다.
인터페이스를 선언하고 제약조건으로 설정하면 다양한 제약 조건을 설정할 수 있다.
공변성과 반공변성 공변성: X → Y 가 가능할 때, C → C 가 가능 반공변성: X → Y 가 가능할 때, C → C 가 가능 불변성: X → Y 가 가능하지만, C → C 와 C → C 모두 불가능
제네릭을 사용할 때에 타입이 IDisposable을 구현하고 있다면 리소스 누수가 발생할 수 있다.
IComparable IComparable 에는 CompareTo()라는 단 하나의 메서드가 정의되어 있다.
제네릭의 인스턴스화는 런타임의 타입을 고려하지 않고 컴파일 타임의 타입만을 고려한다.