11. Swift 함수의 중첩

Swfit 2017. 8. 4. 11:53

11. Swift 함수의 중첩

  • 스위프트에서  함수는 중첩하여 작성할 수 있다. 함수 내에 다른 함수를 작성해서 사용할 수 있다. 이렇게 작성된 함수를 중첩함수라고 하고 , 중첩 함수를 부분별로 나누어 보면 함수 내에 작성된 함수는 내부 함수, 내부함수를 포함하는 바깥쪽 함수는 외부 함수 로 구분할수 있다.
  • 함수내에 작성할 수 있는 내부 함수의 수에는 제한이 없다.
  • 내부 함수 내에 또다른 내부 함수를 작성할 수도 있다.
  • 내부 함수는 외부 함수가 실행되는 순간 생성되고, 종료되는 순간 소멸한다. 이것이 내부 함수의 생명 주기 이다.

//외부 함수
func outer(base : Int) -> String {
    //내부 함수
    func inner(inc : Int) -> String {
        return "\(inc)를 반환합니다.”
    }
    let result = inner(inc : base + 1)
    return result
}

outer(base: 3)
//“4를 반환합니다.”

###################

//외부 함수
func outer(param : Int) -> (Int) -> String {

    //내부 함수
    func inner(inc : Int) -> String {
        return "\(inc)를 반환합니다.”
    }

    return inner
}

let fn1 = outer(param:3)
let fn2 = fn1(30) 


'Swfit' 카테고리의 다른 글

13. Swift 구조체와 클래스  (0) 2017.08.04
12. Swift 클로저(Closure)  (0) 2017.08.04
10. Swift 일급 객체로서의 함수  (0) 2017.08.04
9. Swift 매개변수  (1) 2017.08.04
8. Swift 함수(Function)  (0) 2017.08.04

설정

트랙백

댓글