1. List
val items = listOf(1, 2, 3, 4, 5)
list는 listOf 연산자를 통해 만들 수 있는데, 이렇게 만드는 list는 값의 변경이 불가능하다.
val items = mutableListOf(1, 2, 3, 4, 5)
items.add(10) // 값 추가
items.remove(2) // 값 삭제
mutableListOf는 값을 변경할 수 있는 리스트로, 기존에 자바에서 쓰던 ArrayList와 같은 기능을 한다.
map, filter, sorted등 list는 다양한 컬렉션 기능을 제공한다.
2. Array
val items = arrayOf(1, 2, 3)
items.size // 배열의 크기를 구하기
items[2] = 1 // 배열의 값 변경
Array는 고정된 크기를 가지며, 요소를 추가하거나 제거할 수는 없으나 배열 안의 값을 변경할 수는 있다.
배열은 arrayOf를 통해 만들어지며, 인덱스를 사용하여 특정 위치의 값을 변경할 수 있다.
코틀린에서 실질적으로 배열은 잘 사용하지 않으며, 보통 리스트를 많이 사용한다
3. Try-Catch
try {
var four = items[4]
}
catch (e: Exception) {
println(e.message)
}
에러의 예외처리를 할 때 사용!
try 안에 에러가 발생할 수 있는 코드를 넣고, 에러가 발생하면 catch문이 잡아서 처리를 해준다.
4. Null Safety
var name : String? = null // null 할당 가능 변수
name = "신" // 값 할당
name = null // null 재할당
var name2 = "" // 빈 문자열
name2 = name // error!!
타입 뒤에 ?를 넣어줘야지만 null을 넣을 수 있다.
이렇게 null 할당 가능 변수로 설정하면 나중에 값을 넣거나 중간에 다시 null을 대입해줄 수 있다.
?가 붙은거랑 안 붙은건 별개의 타입으로 취급이 되기 때문에 name2에 name을 할당 불가!
if(name != null)
{
name2 = name
}
이렇게 null 체크를 해서 null이 아닌 경우에는 String?의 타입이 String으로 변환이 되고 같은 타입이 됬기 때문에 넣을 수 있다.
name2 = name!!
또는, !!를 붙여 강제로 String 타입으로 변환할 수 있는데 이러한 코드는 null 검사 방법에 비해 강제로 변환된 거기 때문에 별로 좋지 않음 이왕이면 null 체크를 해주면 편이 좋다.
name?.let {
name2 = name
}
또는 코틀린 내장 함수중에 유용한 걸 활용하는 방법이 있다.
이 ?.let은 null이 아니라면 이 블록을 실행하라는 뜻으로, if문을 한번 거친거와 같은 효과가 난다.
'Coding > Kotlin(코틀린)' 카테고리의 다른 글
[Kotlin] 코틀린 기본 문법 정리 3 - 조건문, 반복문 (0) | 2024.06.23 |
---|---|
[Kotlin] 코틀린 기본 문법 정리 2 - 문자열, MAX/MIN, Random, 입력 (1) | 2024.06.23 |
[Kotlin] 코틀린 기본 문법 정리 1 - 출력, 변수, 상수, 형 변환 (0) | 2024.06.21 |