클로저
-
클로저 종결판 2Apple🍎/Swift 2025. 2. 26. 16:31
죽지도 않고 다시 돌아온 클로저 종결판 아직 못 보신 분은 종결판 1부터 보시고 오세요. 츄라이~ 클로저 종결판앱을 개발할 때 꼭 마주치게 되는 '클로저'라는 놈, 이 정도 봤으면 정들 때도 되었는데이놈이 모양도 야시꾸리하고 형태도 왔다 갔다 해서 뭔가 찝찝한 녀석입니다. 그래서 오늘날 잡고 산산조people-analysis.tistory.com아직 좀 남은 거 마저 해치워 버립시다. 레츠기딧~~ Swift에서 클로저의 생명주기와 메모리 관리를 이해하기 위해서는 이스케이핑(Escaping)과 논이스케이핑(Non-escaping)에 대한 이해가 필요한데요. 같이 한번 차근차근히 알아볼까요? 일단 저번 시간에 배운 클로저는 "생성 시점에 환경을 캡쳐(기억)하기 위해 만들어진 녀석"을머리에 붙들어 메두시고여...
-
Swift를 위한 람다 계산법 핵심Apple🍎/Swift 2025. 2. 25. 12:23
람다 계산법이란?람다 계산법은 계산을 함수 형태로 표현하는 형식체계로, 단 세가지의 규칙만으로 모든 계산을 표현할 수 있습니다. 이것이 오늘날 Swift를 포함한 현대 프로그래밍 언어의 함수형 프로그래밍 패러다임의 이론적 기반이 되었습니다. 람다 계산법 세 가지 핵심 요소 1. 변수(Variables) : 가장 기본적인 요소로, 값을 참조하는 이름입니다. Swift에서는 상수나 변수와 같습니다.let x = 10var name = "Swift"2. 추상화(Abstraction) : 함수를 만드는 방법입니다. 람다 계산법에서는 λx.M 형태로 표현하며, "x를 입력으로 받아 M을 계산하는 함수"를 의미합니다.λx.x // 항등 함수 (입력을 그대로 반환)λx.(x + 1) // 입력에 1..
-
클로저 종결판Apple🍎/Swift 2025. 2. 23. 21:58
앱을 개발할 때 꼭 마주치게 되는 '클로저'라는 놈, 이 정도 봤으면 정들 때도 되었는데이놈이 모양도 야시꾸리하고 형태도 왔다 갔다 해서 뭔가 찝찝한 녀석입니다. 그래서 오늘날 잡고 산산조각 내보려고 합니다. 가보시지요. 렛츠기딧 클로저는 보통 어떤 동작을 정의할 때 사용하는데요. 컴포넌트 재활용시 동작부만 따로 프로퍼티로 만든다던가 동작의 일부를 런타임 중에 결정한다던가 등... 근데 생각해보면 이미 동작을 나타낼 수 있는 것이 이미 존재합니다. 이름하여 함수 그쵸 함수를 이용하면 여러 가지 동작을 미리 정의하고 호출을 통해 코드의 여러 부분에서 활용할 수 있졍그럼 이미 있는데 뭐 한다고 클로저라는 것을 만들었을까요????전통적인 함수의 한계전통적인 프로그래밍에서 함수가 연산을 위해 사용 가능한 값..
-
일급객체가 뭔데?Apple🍎/Swift 2025. 2. 18. 23:03
프로그래밍을 하다 보면 '일급 객체'라는 단어를 접하곤 하는데요. 이 '일급'이라는 어감과 실제 설명하는 내용 사이에 간극이 있습니다. 그래서 오늘은 어원부터 출발해서 일급객체가 실질적으로 의미하는 것이 뭔지 알아보려고 합니다. 역사적 배경 옛날 옛적 영국에 '크리스토퍼 스트레이치'라는 아저씨가 살고 있었어요. 그 당시 영국에는 본토 출신과 식민지 출신 사이에 차별이 있었고 1등 시민, 2등 시민으로 나누어 법적, 사회적으로 권리를 제한했어요. 일등시민은 투표권, 재산권등의 모든 권리를 가진 사람들이었고, 이등시민은 제한된 권리만 가진 사람들이었지요. 우리 프로그래밍 언어 설계에 푹 빠져 있던 크리스토퍼 아저씨는 프로그래밍 언어에도 이와 같은 차별이 있다는 것을 발견했어요. // 숫자는 변수에 저장할 수..