자바 개발자를 위한 코틀린 입문 - 4. 코틀린에서 연사자를 다루는 방법


자바 개발자를 위한 코틀린 입문 에 강의 내용을 정리한 내용이다.
코틀린에서 연산자를 다루는 방법에 대해서 설명한다.

비교 연산자와 동등성, 동일성

Kotlin에서는 동일성에 ===를 사용, 동등성에 ==를 호출 ==를 사용하면 간접적으로 equals를 호출해준다.

1
2
3
4
5
val person1 = Person(10)
val person2 = person1
val person3 = Person(10)

println(person1 == person3) // true

논리연산자

Java 처럼 Lazy 연산을 수행

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
fun main() {
if (fun1() || fun2()) {
println("본문")
}
}

fun fun1(): Boolean {
println("fun 1")
return true
}

fun fun2(): Boolean {
println("fun 2")
return false
}

---- 결과
fun1
본문

특이한 연산자

in / !in

컬렉션이나 범위에 포함되어 있다, 포함되어 있지 않다

a..b

a부터 b까지의 범위 객체를 생성한다.

a[i]

a의 특정 index i에 b를 넣는다.

연산자 오버로딩

Money.kt
1
2
3
4
5
6
7
8
9
data class Money(
val amount: Long
) {

operator fun plus(other: Money): Money {
return Money(this.amount + other.amount)
}

}
1
2
3
4
5
6
7
8
9
fun main() {

// 연산자 오버로딩
val money1 = Money(1_000L)
val money2 = Money(2_000L)

Money(amount=3000)

}

소스코드

참조