Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#의 ICollection 인터페이스란? 정의, 주요 속성과 메서드 총정리

C# ICollection 인터페이스란 무엇인가?

C#에서 ICollection 인터페이스는 모든 비제네릭(non-generic) 컬렉션에 공통으로 적용되는 크기(Count), 열거자(Enumerator), 그리고 동기화(Synchronization) 기능을 정의하는 인터페이스입니다.

이 인터페이스는 System.Collections 네임스페이스에 속한 클래스들(ArrayList, Queue, Stack 등)이 구현하는 기본(base) 인터페이스로, 다양한 컬렉션을 일관된 방식으로 다룰 수 있게 해줍니다.

ICollection 인터페이스의 주요 속성

ICollection 인터페이스가 제공하는 속성은 다음과 같습니다.

번호속성 이름 및 설명
1Count
컬렉션(ICollection)에 포함된 요소의 총 개수를 반환합니다.
2SyncRoot
컬렉션(ICollection)에 대한 접근을 동기화(스레드 안전 처리)할 때 사용할 수 있는 개체를 가져옵니다.

ICollection 인터페이스의 주요 메서드

ICollection 인터페이스가 제공하는 메서드는 다음과 같습니다.

번호메서드 이름 및 설명
1CopyTo(Array, Int32)
컬렉션(ICollection)의 요소들을 지정한 배열(Array)로 복사합니다. 두 번째 매개변수는 복사가 시작될 배열의 인덱스입니다.
2GetEnumerator()
컬렉션의 요소를 순회(iterate)할 수 있는 열거자(Enumerator)를 반환합니다. 이를 통해 foreach 문으로 컬렉션을 탐색할 수 있습니다.

간단한 사용 예제

다음은 ICollection 인터페이스를 활용해 컬렉션의 요소 개수를 확인하고 요소를 순회하는 간단한 예제입니다.

using System;
using System.Collections;

class Program
{
    static void Main()
    {
        ICollection collection = new ArrayList { 10, 20, 30 };

        // Count 속성 사용
        Console.WriteLine($"요소 개수: {collection.Count}");

        // GetEnumerator()를 통한 순회 (foreach)
        foreach (var item in collection)
        {
            Console.WriteLine(item);
        }
    }
}

이처럼 ICollection 인터페이스는 컬렉션의 크기 확인, 요소 복사, 동기화 등 컬렉션 조작에 필요한 표준적인 기능을 제공하며, 제네릭 버전인 ICollection<T>의 기반이 되는 중요한 인터페이스입니다.