Swift에서는 기본적으로 제공해주는 연산자가 아닌 사용자가 직접 연산자를 정의하여 사용할 수 있습니다.
기존에 없던 새로운 연산자를 사용할 때는 새로 만든 연산자를 선언해야 합니다.
중위 연산자의 경우에는 새로 구현하는 연산자의 우선순위를 지정할 수 있습니다. (지정하지 않을 경우 디폴트 순위가 됩니다.)
✅ 증감연산자(++, --) 메서드 구현
C/C++, JAVA 언어에서는 증감 연산자를 제공하지만, Swift에서는 제공하지 않습니다.
하지만 사용자가 증감 연산자를 메서드로 정의하면, Swift에서도 증감 연산자를 사용할 수 있습니다.
postfix operator ++ // ++ 후치 연산자 선언 extension Int{ static postfix func ++(num: inout Int){ num += 1 } } var i = 0 i++ print(i) // 1
✅ 제곱 연산자(**) 메서드 구현
infix operator ** // 디폴트 순위 연산자로 선언 extension Int{ static func **(lhs: Int, rhs: Int) -> Double{ if rhs == 0{ return 1.0 } else{ var result = lhs for _ in 1...rhs{ result = result * lhs } return Double(result/lhs) } } } 2**5 // 32