escaping closure
class Boom {
let power: Int
var action: () -> ()
func explode(closure: @escaping () -> ()) {
closure()
action = closure
}
func act() {
action()
}
@escaping
키워드를 사용하면 함수 내부의 클로저가 함수가 끝나더라도 남아있을 수 있게됨 (바깥에서 사용할 수 있음!)
func 함수명<제네릭타입명>(_ 인자1: 제네릭타입명, _ 인자2: 제네릭타입명) {}
을 사용하면 제네릭 함수를 만든 것!