티스토리 뷰

Swift/Swift 문법

[클로저 - 2] 클로저를 사용하는 이유

내일은개발천재🎵 2022. 12. 28. 21:48

왜 이름이 없는 함수, 클로저를 왜 사용할까?

  • 함수를 전달하는 형태로 사용하기 때문에 이름이 필요 없다.
    • 전달하는 형태란?
      • 파라미터(input)으로 사용되는 것이다.
      • 함수를 실행할 때 클로저 형태로 전달할 때, 파라미터에서 클로저를 정의한다.
      • 파라미터로 전달하는 함수를 콜백함수라고 부른다.
  • 사후적으로 정의하기 위해 사용한다.
    • 내장함수의 매개변수를 클로저 형태로 정의하면, 개발자가 이를 커스텀할 수 있기 떄문이다.
    • 파라미터로 전달되는 클로저는 기존 함수 내용이 모두 실행된 후 실행된다고 봐도 무관하다.
  • 활용도가 늘어난다.
// 1) (클로저를 파라미터로 받는 함수)정의
func closureCaseFunction(a: Int, b: Int, closure: (Int) -> Void) {
    let c = a + b
    closure(c)
}

// 2) 함수를 실행할 때 (클로저 형태로 전달) -> 사후적 정의가 가능
closureCaseFunction(a: 5, b: 2, closure: { (n) in
    print("이제 출력할께요: \\(n)")
})

closureCaseFunction(a: 5, b: 2) {(number) in
    print("출력할까요? \\(number)")
}

closureCaseFunction(a: 5, b: 3) { (number) in
    print("출력")
    print("출력")
    print("출력")
    print("값: \\(number)")
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함