// 공의 위치를 굴뚝으로 이동시킨다.
func dropBall() {
circle.position = funnel.position
}

onTapped의 타입: () -> () (파라미터 X, 리턴 X 함수)dropBall()의 경우 파라미터와 리턴값이 없으므로 onTapped 타입과 동일dropBall()을 콜백 함수로 할당 가능// 굴뚝을 터치 시 dropBall() 함수 실행
// funnel.onTapped = dropBall() (X)
funnel.onTapped = dropBall
< control modifier >
public: API 사용자에 의해 접근이 가능한 propertyprivate: API 사용자에 의한 접근 차단
// 공이 다른 물체와 충돌 시 다른 물체의 색을 초록색으로 변경
func ballCollided(with otherShape: Shape) {
otherShape.fillColor = .green
}

onCollision의 타입: (Shape) -> () (파라미터: Shape 타입, 리턴 X 함수)ballCollided(with:)의 경우 Shape 타입의 파라미터를 가지므로 onCollision 타입과 동일ballCollided(with:)을 콜백 함수로 할당 가능// 충돌한 물체가 파라미터로 입력된다.
// ball.onCollision = ballCollided 가능하지만 권장하지 않음
ball.onCollision = ballCollided(with:)

completion의 타입: () -> ()presentAlert(text:completion:) 실행 -> 새로운 함수 호출scene.presentAlert(text: "You won!", completion: alertDismissed)
# 알람이 울린 후, 아무 일도 일어나지 않음
func alertDismissed() {
}