++, --+, -, *, /, %+=, -=, *=, /=, %=<, >, >=, <=compareTo를 호출해준다.
person1 < person2==, 동등성에 equals를 사용했다.===, 동등성에 ==를 사용한다.
== 사용 시 간접적으로 equals를 호출&&, ||, !in / !in
println(1 in numbers)a..b
a 부터 b까지의 범위 객체를 생성a[i]
a에서 Index로 값을 가져온다.a[i] = b
a의 특정 Index에 b를 넣는다.operator 키워드를 사용한다.data class Money(
val amount: Long
) {
operator fun plus(other: Money): Money {
return Money(this.amount + other.amount)
}
}
val money1 = Money(1_000L)
val money2 = Money(2_000L)
println(money1 + money2) // Money(amount=3_000)
+는 plus, -는 minus를 사용하는 식으로 각 연산자에 대응하는 메서드를 operator와 함께 정의하여 오버로딩하면 된다.