[kotlin] 연산자 프리시저

코틀린에서는 연산자를 클래스의 멤버 함수로 오버로딩하여 사용할 수 있습니다. 이는 연산자 프리시디가 가능하다는 의미입니다. 이 기능을 활용하면 사용자가 정의한 클래스에 대해 연산자를 지원할 수 있습니다.

연산자 오버로딩

코틀린에서는 operator 키워드를 사용하여 다양한 연산자를 오버로딩할 수 있습니다. 주요 연산자에 대해 제공되는 프리시디는 다음과 같습니다.

연산자 함수

연산자를 오버로딩하기 위해 특정한 이름의 함수를 정의해야 합니다. 함수 이름은 연산자를 나타내는 키워드로 정의됩니다. 여기에는 몇 가지 예가 있습니다.

이항 연산자

operator fun plus(other: MyClass): MyClass {
    // 덧셈 연산 수행
}

단항 연산자

operator fun unaryMinus(): MyClass {
    // 음수 연산 수행
}

대입 연산자

operator fun plusAssign(other: MyClass) {
    // 덧셈 후 대입 연산 수행
}

사용 예시

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 point1 = Point(3, 4)
    val point2 = Point(1, 2)
    val result = point1 + point2
    println(result) // 출력: Point(x=4, y=6)
}

결론

코틀린의 연산자 프리시지 기능을 활용하면 사용자 정의 클래스에 대해 연산자를 지원하는 기능을 쉽게 구현할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

더 자세한 내용은 코틀린 공식 문서를 참조하세요.