[swift] Swift에서 클로저의 타입 확인
Swift에서 클로저는 일급 시민으로 간주되며, 변수에 할당하거나 함수의 인자로 전달할 수 있습니다. 때로는 클로저의 타입을 확인하고 싶을 수 있습니다. 이 글에서는 Swift에서 클로저의 타입을 확인하는 방법에 대해 알아보겠습니다.
클로저 타입 확인하기
Swift에서 클로저의 타입을 확인하기 위해서는 type(of:)
함수를 사용합니다. 이 함수를 사용하면 클로저의 타입을 동적으로 알 수 있습니다. 아래의 예제 코드를 살펴봅시다.
let add: (Int, Int) -> Int = { (a, b) in
return a + b
}
let subtract: (Int, Int) -> Int = { (a, b) in
return a - b
}
let multiply: (Int, Int) -> Int = { (a, b) in
return a * b
}
print(type(of: add)) // (Int, Int) -> Int
print(type(of: subtract)) // (Int, Int) -> Int
print(type(of: multiply)) // (Int, Int) -> Int
위의 코드에서 add
, subtract
, multiply
라는 변수에 각각 클로저를 할당했습니다. 그리고 type(of:)
함수를 사용하여 각 클로저의 타입을 확인합니다. 출력 결과로 (Int, Int) -> Int
라는 클로저 타입이 나타나는 것을 확인할 수 있습니다.
typealias
를 활용한 클로저 타입 정의
클로저의 타입을 여러 번 사용해야하는 경우, typealias
를 사용하여 타입 별칭을 지정할 수 있습니다. 이렇게 하면 코드를 더욱 가독성 있게 만들 수 있습니다. 아래의 예제 코드를 살펴봅시다.
typealias MathOperation = (Int, Int) -> Int
let add: MathOperation = { (a, b) in
return a + b
}
let subtract: MathOperation = { (a, b) in
return a - b
}
let multiply: MathOperation = { (a, b) in
return a * b
}
print(type(of: add)) // MathOperation
print(type(of: subtract)) // MathOperation
print(type(of: multiply)) // MathOperation
위의 코드에서 MathOperation
이라는 별칭을 정의하고, 각 클로저에 MathOperation
타입을 할당했습니다. 출력 결과로 MathOperation
이라는 클로저 타입이 나타나는 것을 확인할 수 있습니다.
결론
Swift에서 클로저의 타입을 확인하는 방법에 대해 알아보았습니다. type(of:)
함수를 사용하여 클로저의 타입을 동적으로 확인할 수 있으며, 이를 활용하여 코드의 가독성을 높일 수 있습니다. 클로저를 사용할 때 유용한 팁으로 활용해보세요.
참고 자료: