[swift] 일급 객체로서의 함수 사용법

Swift에서 함수는 일급 객체로 다루어집니다. 이는 함수를 값으로 다룰 수 있고, 변수에 할당하거나 파라미터로 전달할 수 있다는 것을 의미합니다.

함수를 변수에 할당하기

함수를 변수에 할당하기 위해선 다음과 같이 변수를 선언하고 함수를 할당할 수 있습니다.

// 함수 타입 선언
var myFunction: (Int, Int) -> Int

// 함수 할당
myFunction = { (a: Int, b: Int) -> Int in
    return a + b
}

함수를 파라미터로 전달하기

함수를 다른 함수의 파라미터로 전달할 수 있습니다. 아래의 예시에서 calculate 함수는 다른 함수를 파라미터로 받아 계산을 수행합니다.

// 함수를 파라미터로 받는 함수
func calculate(a: Int, b: Int, operation: (Int, Int) -> Int) -> Int {
    return operation(a, b)
}

// calculate 함수 호출
let result = calculate(a: 5, b: 3, operation: myFunction)

함수를 리턴하기

함수는 다른 함수의 리턴 타입으로도 사용될 수 있습니다.

// 함수를 리턴하는 함수
func getOperation() -> (Int, Int) -> Int {
    return { (a: Int, b: Int) -> Int in
        return a * b
    }
}

// getOperation 함수 호출
let multiplyFunction = getOperation()
let result = multiplyFunction(4, 3) // 결과는 12

Swift에서 함수를 일급 객체로 다룰 수 있는 능력은 코드를 간결하게 작성하고 유연하게 다룰 수 있는 장점을 제공합니다.

더 자세한 내용은 Swift 공식 문서 - Functions를 참고하세요.