다음을 통해 공유


컬렉션을 사용하여 여러 개체 관리

업데이트: 2007년 11월

이 단원에서는 컬렉션을 사용하여 개체 그룹을 관리하는 방법을 배웁니다.

이전 단원에서는 배열을 사용하여 변수 그룹을 관리하는 방법에 대해 배웠습니다. 배열을 사용하여 개체 그룹을 관리할 수도 있지만 Visual Basic에는 형식이 유사한 개체 그룹을 저장 및 검색하는 데 사용할 수 있는 컬렉션이라는 특수한 개체 형식이 있습니다.

배열과 마찬가지로 Collection 개체의 각 항목에는 해당 항목을 식별하는 데 사용할 수 있는 인덱스가 있습니다. 또한 Collection 개체의 각 항목에는 항목을 식별하는 데 사용할 수 있는 String 값인 키가 있습니다. 키를 사용하면 항목의 인덱스를 기억할 필요 없이 의미 있는 이름을 사용하여 항목을 참조할 수 있는 이점이 있습니다.

컬렉션 만들기

컬렉션은 프로그램에서 동일한 클래스의 여러 인스턴스를 사용하는 경우에 유용합니다. 예를 들어, 이전 단원에서 만든 Players 클래스를 봅니다. 야구 팀을 나타내려면 여러 개의 Players 개체가 필요합니다.

컬렉션을 만들기 위한 첫 번째 단계에서는 다음 선언에서처럼 Collection 개체의 인스턴스를 만듭니다.

Dim baseballTeam As New Collection

Collection 개체를 만든 다음에는 Add 메서드를 사용하여 항목을 추가하고 Remove 메서드로 항목을 삭제할 수 있습니다. 항목을 추가하려면 먼저 추가할 항목을 지정한 다음 키로 사용할 String 값을 지정합니다.

baseballTeam.Add(playerObject, "Player's Name")

항목을 제거하려면 키를 사용하여 제거할 항목을 지정합니다.

baseballTeam.Remove("Player's Name")

다음 프로시저에서는 두 개의 새 Players 개체를 추가한 다음 Position 속성을 키로 사용하여 team 컬렉션을 만들고 여기에 Players 개체를 추가합니다.

실습

개체 컬렉션을 만들려면

  1. 이전 단원에서 만든 Persons 프로젝트를 엽니다. 프로젝트를 저장하지 않았으면 이전 단원 기존 클래스를 기반으로 클래스 만들기: 상속 사용으로 돌아가 저장 절차를 완료합니다.

  2. 솔루션 탐색기에서 PlayerTest 프로젝트의 Form1.vb 노드를 선택한 다음 보기 메뉴에서 코드를 선택합니다.

  3. 코드 편집기에서 다음을 선언 섹션에 추가합니다(player2 선언 아래).

    Dim player3 As New Persons.Players
    Dim player4 As New Persons.Players
    Dim team As New Collection
    
  4. Form1_Load 이벤트 프로시저에 다음 코드를 추가합니다.

    With player3
        .FirstName = "Eduardo"
        .LastName = "Saavedra"
        .Number = 52
        .Position = "First Base"
    End With
    
    With player4
        .FirstName = "Karl"
        .LastName = "Jablonski"
        .Number = 22
        .Position = "Pitcher"
    End With
    
    team.Add(player1, player1.Position)
    team.Add(player2, player2.Position)
    team.Add(player3, player3.Position)
    team.Add(player4, player4.Position)
    
  5. 솔루션 탐색기에서 PlayerTest 프로젝트의 Form1.vb 노드를 선택합니다. 그런 다음 보기 메뉴에서 디자이너를 선택합니다.

  6. 도구 상자에서 ComboBox 컨트롤을 폼으로 끌어 옵니다.

  7. 속성 창에서 Items 속성을 선택하고 … 단추를 클릭합니다.

  8. 문자열 컬렉션 편집기에서 다음을 입력한 다음 확인을 클릭합니다.

    Catcher

    First Base

    Pitcher

    Shortstop

  9. ComboBox 컨트롤을 두 번 클릭하여 코드 편집기를 연 다음 ComboBox1_SelectedIndexChanged 이벤트 처리기에 다음 코드를 입력합니다.

    Dim SelectedPlayer As Persons.Players
    SelectedPlayer = team(ComboBox1.SelectedItem)
    MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _
    SelectedPlayer.FullName & "!")
    
  10. F5 키를 눌러 프로그램을 실행합니다. 드롭다운 목록에서 위치를 선택합니다. 이 위치에 해당하는 선수가 메시지 상자에 표시됩니다.

다음 단계

이 단원에서는 Collection 개체를 사용하여 개체 그룹을 관리하는 방법을 배웠습니다. 이제 자세히 보기: 컬렉션에서 For Each...Next 루프 사용에서 컬렉션에 대해 좀 더 자세히 학습하거나 다음 단원 그룹으로 이동하여 컨트롤을 직접 만드는 방법을 배울 수 있습니다.

다음 단원: 표시되는 개체: 사용자 정의 컨트롤 처음 만들기

참고 항목

작업

자세히 보기: 컬렉션에서 For Each...Next 루프 사용

자세히 보기: 멤버 재정의

기존 클래스를 기반으로 클래스 만들기: 상속 사용

개념

Visual Basic 컬렉션 클래스

기타 리소스

표시되는 개체: 사용자 정의 컨트롤 처음 만들기