[swift] 함수를 타입으로 사용하는 방법은 무엇인가요?
Swift에서 함수를 타입으로 사용하는 방법은 크게 두 가지가 있습니다.
1. 함수 타입 정의하기
함수를 타입으로 사용하기 위해서는 함수의 파라미터와 반환 타입을 정의해주어야 합니다.
// 함수 타입 정의
typealias Operation = (Int, Int) -> Int
// 함수를 저장하는 변수
var add: Operation = { (a, b) in
return a + b
}
// 함수 사용
let result = add(5, 3) // 결과: 8
위 예제에서 Operation
이라는 typealias를 통해 함수 타입을 정의하고, add
라는 변수에 함수를 할당하여 사용하였습니다.
2. 함수를 다른 함수의 파라미터로 전달하기
함수를 다른 함수의 파라미터로 전달하여 사용하는 방법도 가능합니다.
// 함수 타입 정의
typealias Operation = (Int, Int) -> Int
// 함수 정의
func calculate(a: Int, b: Int, operation: Operation) -> Int {
return operation(a, b)
}
// 함수를 파라미터로 전달
let result = calculate(a: 5, b: 3, operation: { (a, b) in
return a * b
}) // 결과: 15
위 예제에서 calculate
함수는 Operation
타입의 함수를 파라미터로 전달받아 사용하고 있습니다.
이처럼 Swift에서는 함수를 일급 객체로 다루기 때문에 함수를 타입으로 사용하거나 파라미터로 전달하여 유연한 프로그래밍이 가능합니다.