이번 글에서는 배열에 대해서 알아보도록 하겠습니다.
배열
배열이란, 어떤 특정한 자료형을 연속적으로 나열하는 것을 이야기합니다.
예를 들어, 여러분이 1~5까지의 숫자를 변수에 저장해야 한다고 생각해봅시다.
fun main() {
var a = 1
var b = 2
var c = 3
var d = 4
var e = 5
}
우리가 지금까지 알아온 지식으로는 이 정도로 해결할 수 있을 것입니다.
하지만 코드를 보자마자 이 방법은 매우 비효율적일 것이라는 생각이 듭니다.
또한, 1~5가 아닌 1~100까지만 가도 이 방법은 매우 귀찮고, 힘든 일이 될 것입니다.
때문에 이렇게 여러 개의 자료들을 저장하기 위해서 우리는 배열을 사용합니다.
위에서 말했듯이 배열은 특정한 자료형을 연속적으로 나열하는 것을 말하는데요.
메모리 공간에서의 배열을 그림으로 나타내면 위와 같은 형태라고 말할 수 있습니다.
일정한 크기의 배열은 특정한 한 자료형으로 되어있고, 때문에 각 블록이 동일한 크기를 갖고 있습니다.
그럼 이제 코틀린에서 배열을 만드는 법에 대해서 알아봅시다.
fun main() {
var arr1 = arrayOf(1, 2, 3, 4, 5)
var arr2 = arrayOfNulls<Int>(5)
}
일단, 코틀린에서 배열을 선언하는 방법은 두 가지로 나눌 수 있습니다.
첫 번째는 배열 선언 시에 값들을 초기화해주는 방법으로, arrayOf라는 키워드를 사용합니다.
또한 이 때는 저번 글에서 알아봤던 타입추론을 통해 자료형을 지정하지 않아도 됩니다.
두 번째는 일정한 크기의 비어있는 배열을 생성하는 것입니다.
이때 배열의 내용은 모두 Null로 초기화됩니다.
보통 배열을 사용할 때에는 반복문이 자주 같이 사용되는데, 반복문에 대해서는 추후에 알아보도록 하겠습니다.
인덱스
이제 배열을 선언했으니 배열 내의 각 블록(이를 각 요소라고 하겠습니다.)에 접근해서
거기에 들어있는 값을 가져오거나, 새로운 값을 다시 해당 요소에 집어넣는 방법을 알아봅시다.
이때 우리는 '인덱스'라는 것을 사용하는데, 이는 배열의 각 요소에 번호를 붙여서 해당 요소에 접근할 수 있도록 하는 숫자입니다.
이 번호는 0부터 시작해서 해당 배열의 크기-1까지 1씩 증가하면서 순차적으로 이어집니다.
예를 들어 위에서 선언한 arr1배열의 경우 데이터가 1, 2, 3, 4, 5 순서로 입력되었는데,
이를 인덱스로 확인해보면 인덱스 0=1, 1=2, 2=3, 3=4, 4=5과 같이 입력됩니다.
이렇게 인덱스를 통해서 배열의 요소에 접근할 때는 대괄호([])를 사용하는데, 직접 코드로 확인해봅시다.
fun main() {
var arr1 = arrayOf(1, 2, 3, 4, 5)
var arr2 = arrayOfNulls<Int>(5)
println(arr1[0])
println(arr1[1])
println(arr1[2])
println(arr1[3])
println(arr1[4])
arr1[2] = 10
println(arr1[2])
}
위와 같이 배열명[인덱스]의 형태로 배열의 각 요소에 접근하여서 값을 가져오거나, 바꿀 수 있습니다.
이러한 배열을 통해서 특정한 자료형을 가지는 여러 개의 데이터들을 편리하게 관리할 수 있습니다.
이번 글은 이 정도로 마치도록 하겠습니다.
감사합니다.
'프로그래밍 언어 > 코틀린' 카테고리의 다른 글
코틀린 7. Nullable변수 (0) | 2020.12.21 |
---|---|
코틀린 6. 함수 (0) | 2020.12.21 |
코틀린 4. 타입추론과 형변환 (0) | 2020.12.21 |
코틀린 3. 변수와 자료형 (0) | 2020.12.20 |
코틀린 2. 개발환경 구축 (0) | 2020.12.20 |