?
를 붙여주어야 한다.?.
)이 있다.?:
)가 있다.!!
)이 있다.is
, !is
, as
, as?
를 이용해 타입을 확인하고 캐스팅한다.${변수}
와 """ """
를 사용하면 깔끔한 코딩이 가능하다.[]
를 사용한다.in
, !in
/ a..b
/ a[i]
/ a[i] = b
와 같이 코틀린에서 새로 생긴 연산자도 있다.함수의 문법은 Java와 다르다!
접근지시어 fun 함수이름(파라미터): 반환타입 {
}
body가 하나의 값으로 간주되는 경우 block을 없앨 수도 있고, block이 없다면 반환 타입을 없앨 수도 있다.
fun max(a: Int, b: Int): Int = if (a > b) a else b
fun max(a: Int, b: Int) = if (a > b) a else b
함수 파라미터에 기본값을 설정해줄 수 있다.
함수를 호출할 때 특정 파라미터를 지정해 넣어줄 수 있다.
가변인자에는 vararg 키워드를 사용하며, 가변인자 함수를 배열과 호출할 때는 *를 붙여주어야 한다.
class Person(
name: String = "최태현",
var age: Int = 1
)
배열의 사용법이 약간 다르다!
val array = arrayOf(100, 200)
for (i in array.indices) {
println("${i} ${array[i]}")
}
for ((idx, value) in array.withIndex()) {
println("${i} ${value}")
}
코틀린에서는 컬렉션을 만들 때도 불변/가변을 지정해야 한다.
List, Set, Map에 대한 사용법이 변경, 확장되었다.
Java와 Kotlin 코드를 섞어 컬렉션을 사용할 때에는 주의해야 한다.
출처