인터페이스를 이용한 메서드 제약 제네릭 클래스에 대해 타입 매개변수 T가 반드시 Add() 메서드를 가져야 한다는 제약 조건을 설정할 때, Add() 메서드를 정의하는 IAdd 인터페이스를 생성한다. IAdd 인터페이스로 제약 조건을 설정한다. IAdd를 구현할 클래스를 생성한다. IAdd가 정의한 Add() 메서드를 구현한다. 제네릭 클래스의 정의를 이용하여 닫힌 제네릭 클래스를 만든다. 즉, Add() 메서드 하나를 호출하기 위해 IAdd 인터페이스를 구현한 새로운 클래스를 생성한다. 델리게이크를 이용한 메서드 제약 제약조건으로 설정하고 싶은 메서드의 원형에 부합하는 델리게이트를 작성한다. 적절한 메서드의 원형을 고안하고 이를 델리게이트 타입으로 정의한다. 델리게이트의 인스턴스를 제네릭 메서드의 매개..