사용자 정의 연산자 메서드

썹스·2022년 12월 18일
0

Swift 문법

목록 보기
62/68

사용자 정의 연산자 메서드

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
profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글