48.3 제네릭 인터페이스
형식 매개변수 T를 쓰는 제네릭 인터페이스를 사용해 보겠습니다.
• ICollection<T> 인터페이스: 제네릭 컬렉션 관련 클래스의 부모 역할을 하는 인터페이스 중 하나인 ICollection<T> 인터페이스는 제네릭 컬렉션을 조작하는 메서드 정의를 제공합니다. 예를 들어 다음 메서드를 제공합니다.
• Count: 요소 개수를 반환합니다.
• Add(T): T 개체를 추가합니다.
• Clear(): 항목을 모두 제거합니다.
• Contains(T): 특정 값이 들어 있는지 여부를 확인합니다.
• Remove(T): 맨 처음 발견되는 특정 개체를 제거합니다.
• IEnumerable<T> 인터페이스: IEnumerable<T> 인터페이스는 컬렉션의 데이터를 읽기 전용으로 출력할 때 사용합니다. 출력 전용이라면 IEnumerable<T> 인터페이스를 반환값으로 사용하길 권장합니다. 당연한 이야기이지만, 데이터를 수정할 때는 IEnumerable<T>를 사용할 수 없습니다. 참고로 Entity Framework Core 같은 ORM을 사용할 때는 IEnumerable<T> 대신에 IQueryable<T> 인터페이스를 사용하길 권장합니다.