Swift 이것도 몰라? (배열, 딕셔너리, 세트 완벽 이해 1탄)
Swift는 애플의 iOS, macOS, watchOS, tvOS 애플리케이션을 개발하기 위해 설계된 강력하고 직관적인 프로그래밍 언어입니다. Swift의 중요한 특징 중 하나는 다양한 컬렉션 타입을 제공한다는 것입니다. 이 가이드에서는 Swift의 세 가지 주요 컬렉션 타입인 배열(Array), 딕셔너리(Dictionary), 세트(Set)를 이해하고 사용하는 방법에 대해 설명하겠습니다.
배열 (Array)
배열은 동일한 타입의 값들을 순서대로 저장하는 컬렉션 타입입니다. 배열의 가장 큰 장점은 인덱스를 통해 각 요소에 접근할 수 있다는 점입니다. Swift에서 배열을 선언하고 사용하는 방법은 다음과 같습니다.
배열 선언 및 초기화
swiftvar numbers: [Int] = [1, 2, 3, 4, 5]
위 예제는 정수형 배열 numbers
를 선언하고 초기화하는 코드입니다. 배열의 타입은 [Int]
로 선언하며, 초기 값으로 [1, 2, 3, 4, 5]
를 가집니다.
배열 요소 접근
배열의 요소에 접근하려면 인덱스를 사용합니다. Swift의 배열 인덱스는 0부터 시작합니다.
swiftlet firstNumber = numbers[0] // 1
배열 요소 추가 및 제거
배열에 요소를 추가하거나 제거하는 방법도 간단합니다.
swiftnumbers.append(6) // 배열에 6 추가 numbers.remove(at: 0) // 첫 번째 요소 제거
배열 순회
배열의 모든 요소를 순회하려면 for
문을 사용할 수 있습니다.
swiftfor number in numbers { print(number) }
딕셔너리 (Dictionary)
딕셔너리는 키-값 쌍으로 데이터를 저장하는 컬렉션 타입입니다. 각 키는 고유해야 하며, 키를 통해 해당 값을 빠르게 조회할 수 있습니다. Swift에서 딕셔너리를 선언하고 사용하는 방법은 다음과 같습니다.
딕셔너리 선언 및 초기화
swiftvar studentGrades: [String: Int] = ["John": 90, "Emma": 95, "Sophia": 88]
위 예제는 문자열을 키로, 정수를 값으로 가지는 딕셔너리 studentGrades
를 선언하고 초기화하는 코드입니다.
딕셔너리 요소 접근
딕셔너리의 값을 조회하려면 키를 사용합니다.
swiftlet johnGrade = studentGrades["John"] // 90
딕셔너리 요소 추가 및 제거
딕셔너리에 새로운 키-값 쌍을 추가하거나 기존 요소를 제거하는 방법은 다음과 같습니다.
swiftstudentGrades["Michael"] = 85 // 새 요소 추가 studentGrades["John"] = nil // 요소 제거
딕셔너리 순회
딕셔너리의 모든 키-값 쌍을 순회하려면 for
문을 사용할 수 있습니다.
swiftfor (student, grade) in studentGrades { print("\(student): \(grade)") }
세트 (Set)
세트는 고유한 값들을 저장하는 컬렉션 타입입니다. 순서가 중요하지 않은 데이터 집합을 관리할 때 유용하며, 중복된 값을 허용하지 않습니다. Swift에서 세트를 선언하고 사용하는 방법은 다음과 같습니다.
세트 선언 및 초기화
swiftvar uniqueNumbers: Set<Int> = [1, 2, 3, 4, 5]
위 예제는 정수형 세트 uniqueNumbers
를 선언하고 초기화하는 코드입니다. 배열과 달리 세트는 중복된 값을 허용하지 않습니다.
세트 요소 추가 및 제거
세트에 요소를 추가하거나 제거하는 방법은 다음과 같습니다.
swiftuniqueNumbers.insert(6) // 요소 추가 uniqueNumbers.remove(2) // 요소 제거
세트 연산
세트는 집합 연산을 지원합니다. 예를 들어, 두 세트의 합집합, 교집합, 차집합을 구할 수 있습니다.
swiftlet evenNumbers: Set<Int> = [2, 4, 6, 8] let intersect = uniqueNumbers.intersection(evenNumbers) // 교집합 let union = uniqueNumbers.union(evenNumbers) // 합집합 let difference = uniqueNumbers.subtracting(evenNumbers) // 차집합
세트 순회
세트의 모든 요소를 순회하려면 for
문을 사용할 수 있습니다.
swiftfor number in uniqueNumbers { print(number) }
결론
Swift에서 배열, 딕셔너리, 세트는 매우 유용한 컬렉션 타입입니다. 배열은 순서가 중요한 데이터를 관리할 때, 딕셔너리는 키-값 쌍으로 데이터를 효율적으로 조회할 때, 세트는 고유한 값들의 집합을 관리할 때 유용합니다. 이 가이드를 통해 Swift의 컬렉션 타입에 대한 기본 개념을 이해하고, 실습을 통해 더욱 익숙해지길 바랍니다. Swift의 컬렉션 타입을 마스터하면 더욱 효율적이고 강력한 코드를 작성할 수 있을 것입니다.