yoogail105 / KkokkoSwift

꼬리에 꼬리를 무는 swift 개념 정리
28 stars 0 forks source link

# 클로저 Closure #40

Open yoogail105 opened 2 years ago

yoogail105 commented 2 years ago

클로저 Closure

클로저 표현식

{ () -> () in
    print("closure")  // 실행식
}

{ () -> () in print("closure") }

클로저는 일급객체이다.

따라서 클로저는 일급객체의 특성을 가진다.

  1. 변수 또는 상수 에 담을 수 있다.
  2. 인자(파라미터) 로 전달할 수 있다.
  3. 반환값(리턴벨류) 으로 전달할 수 있다.

일급객체1: 상수나 변수에 클로저 표현식 넣을 수 OK

func studyiOS() {
    print("iOS 개발자를 위해 열공중")
}

// 클로저 대입과 동시에 작성하기
let studyiOSHarder = { () -> () in
    print("iOS 개발자를 위해 열공중")
}

// 클로저를 상수나 변수에 대입하기
let studiOSClosure = studyiOSHarder

일급객체2: 매개변수의 타입으로 클로저를 넣을 수 OK

func getStudyWithMe(study: ()-> ()) {
    study()
}

getStudyWithMe(study:  { () -> () in
    print("iOS 개발자를 위해 열공중")
})

🔖 참고

yoogail105 commented 2 years ago

클로저 실행

1. 클로저 대입된 변수나 상수 호출

let studyiOSHarder = { () -> () in
    print("iOS 개발자를 위해 열공중")
}

studyiOSHarder()

2. 클로저 직접 실행

({ () -> () in
    print("iOS 개발자를 위해 열공중")
})()

🔖 참고

SeSac iOS 개발자 데뷔 과정 강의와 강의 자료 Swift) 클로저(Closure) 정복하기(1/3) - 클로저, 누구냐 넌 by 개발자 소들이