[Effective C#] 아이템 24: 베이스 클래스나 인터페이스에 대해서 제네릭을 특화하지 말라
베이스 클래스나 인터페이스로 제네릭 메서드를 오버로딩할 경우, 명시적 형변환을 해줘야만 선택된다.
베이스 클래스나 인터페이스로 제네릭 메서드를 오버로딩할 경우, 명시적 형변환을 해줘야만 선택된다.
인터페이스를 선언하고 제약조건으로 설정하면 다양한 제약 조건을 설정할 수 있다.
공변성과 반공변성 공변성: X → Y 가 가능할 때, C → C 가 가능 반공변성: X → Y 가 가능할 때, C → C 가 가능 불변성: X → Y 가 가능하지만, C → C 와 C → C 모두 불가능
제네릭을 사용할 때에 타입이 IDisposable을 구현하고 있다면 리소스 누수가 발생할 수 있다.
IComparable IComparable 에는 CompareTo()라는 단 하나의 메서드가 정의되어 있다.