Swift 입문 | 배열과 사전 | 배열의 기본 사항

여러 값을 한꺼번에 관리하는 데 사용되는 것이 ‘배열’이다. 배열은 동일한 유형의 값을 다수 정리하여 보관한다. 배열에는 여러 값을 저장할 수 있는 장소가 준비되어 있어, 이를 0부터 시작되는 일련 번호(인덱스 번호)가 붙여진다. 이를 이용하여 특정 번호의 값을 얻거나, 다른 값을 저장하거나 하는 것이 가능하다.

배열은 최초에 “몇 개의 값을 저장할지"를 지정해서 생성한다. 예를 들어 “10개 저장할 수 있는 배열"을 만들면, 인덱스 번호 0~9의 저장고(1~10가 아니다는 것을 주의하자!)에 값을 저장할 수 있다. 저장고가 확보되지 않은 번호를 지정하여 값을 읽거나 쓰려고 하면 오류가 발생한다.

그럼 배열의 기본적인 사용법을 간단하게 정리해 보겠다.

배열 만들기

var 변수:유형 = [유형] ()
var 변수:유형 = [유형](count : 수, repeatedValue : 값)
var 변수:유형 = [값 1, 값 2, ...]

값 읽고 쓰기

변수 = 배열[번호]
배열[번호] = 값

배열은 유형으로 유형명의 앞뒤를 [] 기호로 묶는다. 예를 들어 String의 값을 저장하는 배열이라면, [String]과 같이 유형을 지정한다.

배열의 생성은 유형 이렇게 해서 만들 수 있다. 그러나 이것으로 만들어지는 것은 빈공간의 배열이므로 일반적으로 제공하는 보관 저장소의 수와 초기 값의 값을 지정하여

[유형] (count : 준비하는 보관 장소의 수, repeatedValue : 초기 값)

이런 상태로 지정해 작성한다. 또는, [값1, 값2, …]과 같이 배열을 리터럴로 작성하여 만들 수 있다. 예를 들어, 다음의 2개는 같은 배열이 된다.

var arr1 : [Int] = [Int] (count : 10, repeatedValue : 0)
var arr2 : [Int] = [0,0,0,0,0,0,0,0,0,0]

이 정도의 요소 수인 경우에는 리터럴으로 작성하는 것이 편리할 것이다. 그러나 예를 들어 “저장할 수 있는 요소의 수가 1만개"라고 경우에는 [0,0,0 ……]와 같이 하는 것이 불가능하기 때문에, (count : 10000, repeatedValue : 0)로 작성하는 것이 간단하다.

또한 Swift의 특징으로, 대입하는 값에서 유형이 명확하게 알 수 있다면 변수 선언에 있는 유형은 생략할 수 있어서, 위의 문장은 다음과 같이 작성해도 된다.

var arr1 = [Int] (count : 10, repeatedValue : 0)
var arr2 = [0,0,0,0,0,0,0,0,0,0]