더북(TheBook)

5.   CarInterface<T>IKs 인터페이스만 매개변수로 받을 수 있습니다. 이외의 형태를 지정하면 에러가 발생합니다.

> public class CarInterface<T> where T : IKs { } //IKs인터페이스
> CarInterface<IKs> h = new CarInterface<IKs>();
> CarInterface<object> ie;
(1,22): error CS0311: The type 'object' cannot be used as type parameter 'T' in the generic type or method 'CarInterface<T>'. There is no implicit reference conversion from 'object' to 'IKs'.

우리가 새롭게 만드는 형식인 <T> 구조에서 T에 대한 제약을 둘 수 있습니다. 물론 앞에서 나열한 내용 이외에 더 많은 조건을 다룰 수도 있지만, 이 책에서는 한 번 정도 다루는 것으로 마무리하겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.