연산자 오버로딩이란 객체끼리 '+' 나 '-' 같은 연산자를 사용할 수 있게 해주는 기능이다. 이는 자바에서는 지원하지 않는 기능이다. (일반적으로 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) } 연산자라고 한다면 +, -, *, / 만 떠오를텐데