이터러블 • 모든 반복 가능한 객체의 조상 - 반복 가능하다 -> 시작과 끝이 있다 -> 범위가 있다. ex) Array, Collection, Progression, ... Progression • 코틀린에서 수열을 표현할 수 있는 클래스 • 시작과 끝이 있고 범위가 있다. • 구간이란 개념이 있다. - 다음 요소로 이동할 때 마다 구간만큼 이동한다. ex) 시작 : 1, 끝 : 10, 구간 : 2 이면 1, 3, 5, 7, 9 이런 식으로 진행 - 구간이 1인 progression을 특별히 range라고 한다. val PROGREESION1 = 1..10 step 2 // 1부터 10까지 2씩 val PROGREESION2 = 10 downTo 1 step 2 // 10부터 1까지 2씩 val PRO..
컬렉션 • 컬렉션이란 코틀린 표준 라이브러리에서 제공하는 도구로써, 여러 요소들을 담을 수 있는 자료구조이다. • 배열과 다르게 초기화시 크기를 미리 정해놓을 필요도 없고, 크기가 고정되어 있지 않음. 1. 변경 가능 여부 • 변경이 가능하면 Mutable, 불가능하면 Immutable로 나눌 수 있다. • 컬렉션 요소의 변경이 필요한 상황이 아니라면 기본적으로 Immutable을 사용하는 것이 좋다. - 많은 코드 진행 후에도 해당 컬렉션이 바뀌었는지 안 바뀌었는지 추적할 필요 없이 믿고 사용할 수 있기 때문. 2. List • 인덱스로 접근 가능하고, 순서가 있는 자료 구조. • immutable - listOf(값1, 값2, ...) • mutable - mutableListOf(값1, 값2, ....