Kotlin 문법: "컬렉션"

SHY(code poet)·2024년 1월 29일

●뮤터블 컬렉션
컬렉션(Collection)은 다른 이름으로는 동적 배열이라고도 한다.
배열과는 다르게 공간의 크기를 처음 크기로 고정하지 않고 임의의 개수를 담을 수 있기 때문이다. 여러 개의 값을 담을 수 있는 배열은 값의 개수가 증가하면 사용할 수 없는 단점이 있기 때문에 동적으로 크기를 변경할 수 있도록 만들어진 동적 배열이다.
컬렉션은 크게 세 가지의 데이터 타입으로 리스트(List), 맵(Map), 셋(Set)이 있고, 각각은 다음과 같은 용도로 사용할 수 있다.

※ 뮤터블(Mutable, 변할 수 있다)
입력된 값을 변경할 수 있는 것을 말한다.
Kotlin은 컬렉션 데이터 타입을 설계할 때 모두 이뮤터블(Immutable: 변할 수 없는)로 설계하였다. 기본 컬렉션인 리스트(List), 맵(Map), 셋(Set)은 모두 한 번 입력된 값을 바꿀 수 없다. 그래서 컬렉션의 원래 용도인 동적 배열로 사용하기 위해서는 뮤터블로 만들어진 데이터 타입을 사용해야 한다. 대표적으로 var로 선언된 변수는 모두 뮤터블이다.
즉, kotlin에서 동적으로 리스트를 사용하기 위해서는 리스트 자료형 앞에 뮤터블(Mutable)이라는 접두어(Prefix)가 붙는다. (mutableList, mutableMap, mutableSet)

※ 컬렉션 값의 단위 = 엘리먼트
컬렉션에 입력되는 값은 각각을 엘리먼트(Element)라고 한다.
값이라고 해도 되지만 맵을 지칭할 때 맵의 값(엘리먼트 자체)을 가리키는 건지 엘리먼트의 값(실제 값)을 가리키는 건지, 2개의 용어가 충돌할 수 있기 때문에 엘리먼트라고 이해하고 있는 것이 좋다.
엘리먼트는 맵의 입력 단위인 키와 값을 합친 것을 말하는데 이것은 리스트와 셋에서도 동일한 용어로 사용된다.. 즉 리스트의 값 또한 엘리먼트라고 부른다.
리스트 엘리먼트 = 리스트의 (값)
맵 엘리먼트 = 맵의 (키와 값)

profile
진정한 개발자는 코드를 두려워하지 않는다. 오히려 코드가 그를 두려워한다.

0개의 댓글