Kotlin

연산자 오버로딩(Operator Overloading)

주코식딩 2024. 3. 5. 11:29

연산자 오버로딩이란 객체끼리 '+' 나 '-' 같은 연산자를 사용할 수 있게 해주는 기능이다.

이는 자바에서는 지원하지 않는 기능이다. (일반적으로 add같은 함수 구현해서 사용)

 

data class Point(val x: Int, val y: Int) {
    operator fun plus(other: Point): Point {
        return Point(x + other.x, y + other.y)
    }
}

fun main() {
    val p1 = Point(1, 2)
    val p2 = Point(3, 4)
    val p3 = p1 + p2  // `plus` 연산자 함수를 호출합니다.
    println(p3)  // 출력: Point(x=4, y=6)
}

 


연산자라고 한다면 +, -, *, /  만 떠오를텐데 <=나 .. 같은 복잡한 연산자도 존재한다.
그 양이 생각 보다 많으니 공식문서를 참고하길 바란다.

https://kotlinlang.org/docs/operator-overloading.html

 

'Kotlin' 카테고리의 다른 글

영역 함수(scope functions)  (0) 2024.02.29
수신 객체 지정 람다  (0) 2024.02.29
코틀린의 정적 타입  (0) 2024.02.19
자바에서 코틀린 컬렉션으로  (1) 2024.02.13
확장함수를 사용해 직관적으로 변경하기  (0) 2024.02.07