반응형
[Swift 5/부스트 코스] iOS 프로그래밍을 위한 스위프트 기초 - 클로저 기본(1-17) 생각해보기
안녕하세요. 개발하는 정주입니다.
오늘은 부스트 코스 iOS 프로그래밍을 위한 스위프트 기초 - 클로저 기본(1-17) 생각해보기에 대해 포스팅하려고 합니다.
http://www.boostcourse.org/mo122/lecture/11296
생각해보기
일급 객체의 주요 특징은 객체를 인자 값, 반환 값으로 사용할 수 있어야 한다는 것입니다.
따라서 클로저가 일급 객체라는 것은 클로저를 인자값, 반환 값으로 사용할 수 있다는 것인데요.
즉 이번 생각해보기는 클로저/함수를 변수에 담거나 인자값, 반환 값으로 사용하는데 무슨 의미가 있는지가 핵심인 것 같습니다.
이중에서도 제가 생각하는 가장 큰 이점은 인자값으로 사용할 수 있다는 점 같습니다.
부스트 코스의 예시를 살펴보면 아래와 같습니다.
func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int {
return method(a, b)
}
함수 인자로 클로저를 받는 경우인데요. calculate 하나의 함수로 a, b를 이용한 계산 값을 return 할 수 있습니다.
클로저를 최대한 축약한다면 아래처럼 코드가 작성될 수 있겠습니다.
result = calculate(a: 10, b: 10) { $0 + $1 }
아직까진 이론뿐이지만 코드가 짧아지고 함수 하나하나 이름을 정하지 않아도 된다는 이점이 있다고 생각합니다.
실제 개발에 적용하면서 다른 이점이 있는지 더 생각해 봐야겠습니다.
마무리 잡담
감사합니다!
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형