본문 바로가기

SWIFT44

[iOS/Swift] 익명 혹은 람다함수는 모두 클로저(Closure)일까? 무수한 함수 포스팅을 헤쳐나와.. 본격적인 프로그래밍을 진행하기에 앞서, 이곳 저곳에서 자주 사용하게 될 클로저(Closure)에 대해 살펴볼까 합니다. 함수보다 아주 조-금 머리아픈 복잡한 내용일 수 있으니 이번 포스팅에서는 클로저의 개념만 살짝 짚고 넘어가겠습니다. 클로저(Closure)에 대하여 익명함수(Unnamed) 외, 이름이 있는 함수(Named) 또한 클로저이다 The Swift Language Guide 에서 소개하는 클로저는 다음과 같습니다. 클로저(Closure) 코드블럭으로 C와 Objective-C의 블럭(blocks)과 다른 언어의 ❶람다(lambdas)와 비슷합니다. 클로저는 어떤 상수나 변수의 참조를 ❷캡쳐(capture)해 저장할 수 있습니다. ??? 아무리 읽어봐도 도통 .. 2023. 1. 25.
[CS/Basic] 마침내, 객체지향 프로그래밍 (OOP, Object-Oriented Programming) 쉴새없이 달려온 프로그래밍 패러다임,, 마침내, 프로그래밍을 조금이라도 맛본 개발자들이라면 오다가다 자주 마주치는 '객제지향' 에 대해 다뤄보는 시간을 가져볼까 합니다. '객체(Object)' 란 개념에 대해 미리 선행하였으나, 기억이 가물가물하다면 아래 포스팅을 참고해 주시길 바랍니다. 객체(Object)가 무엇인가요? [CS/Basic] 그래서, 객체(Object)가 무엇인가요? 프로그래밍의 패러다임 중, [목적/방식]에 따라 명령형 / 선언형 2가지 형태를 앞선 포스팅에서 살펴보았습니다. 좀 더 파고들어, 명령형에서 파생되는 절차적, 객체지향 프로그래밍을 이해하기 iosdevlime.tistory.com 객체지향 프로그래밍 패러다임의 시작 데이터의 구조화, 객체(Object)간의 상호작용을 통한 문.. 2023. 1. 25.
[CS/Basic] 절차적 프로그래밍은 '절차지향'이 아니다! 앞선 포스팅에서 '객체'에 대한 개념에 대해 짚고 넘어갔으니.. 이후 명령형 프로그래밍 패러다임 범주에 포함된 절차적 프로그래밍(Procedural Programming, PP) 객체지향 프로그래밍(Object-Oriented Programming, OOP) 위 2가지 프로그래밍 방식 중, 시대에 따른 패러다임 흐름(변화)을 살펴보기 위해 절차적 프로그래밍(Procedural Programming)을 선행하여 알아보도록 하겠습니다. 왜 '절차지향' 프로그래밍이 아닌, '절차적' 일까? '절차적(Procedural)' 프로그래밍은 프로시저(함수)를 활용한 프로그래밍 개념이다 절차적 프로그래밍의 영문 표기는 Procedural Programming 인데... 이를 한국어로 번역하게 될 경우 '절차' 혹은 '.. 2023. 1. 5.
[iOS/SwiftUI] 기존 UIKit과는 어떤 차별점이 있나요? Swift 문법을 학습하고, 활용하는 궁극적인 목표 중 하나로 Application, 즉 나만의 앱을 만드는 과정을 꿈꾸고 있을 것입니다. iOS 앱 개발을 위한 UI 프레임워크는 크게 UIKit과 SwiftUI로 구분되고, 개발자들에 의해 활용되고 있습니다. (프레임워크 관련 포스팅은 추후 iOS 공통 포스팅에서 다루도록 하겠습니다) 그 중, SwiftUI는 모든 Apple 플랫폼(iOS, iPadOS, macOS, watchOS, tvOS 등)을 '단 한번의 개발과정' 을 통해 만들 수 있는 개발 도구로서 발 빠르게 성장하고 있습니다. 이번 포스팅에서는, SwiftUI의 전반적인 소개와 UIKit과의 관계에 대해 다뤄보도록 하겠습니다. SwiftUI란 어떤 도구인가요? 단 한번의 개발, 모든 Appl.. 2022. 12. 11.
[CS/Basic] 컴파일 에러와 런타임 에러는 언제 발생하나? 프로그래밍 언어의 유형에 대해 지속적으로 살펴보고 있습니다. 지난 포스팅에서 프로그래밍 언어의 종류 및 특징을 아래와 같이 정리했습니다. 패러다임 방법 혹은 목적 (저 수준/고 수준) 빌드(Build)유무 (컴파일 / 인터프리터) 자료형 지정 유무 이번 시간에는 언어의 종류를 구분하는 특징 중 자료형 지정 유무란 분류에 따른 언어의 특징을 살펴보겠습니다. 다만, 단순히 두루뭉실한 개념이 아닌, 실제 코드를 작성해보고 이에 발생되는 Error를 통해 알아보고자 합니다. Type Checking 정적/동적 언어의 분류 기준은 상수, 변수, 함수 등에 대한 타입을 확인하는 시점 앞서 포스팅에서 다룬 컴파일(Compiled), 인터프리터(Interpreter)언어에 대해 간단하게 짚고 넘어가보자면.. 컴파일 언.. 2022. 12. 6.
[iOS/Swift] 매개변수는 사실 상수였다?! (함수를 호출하는 2가지 방법) 지난 포스팅에서 이어지는 내용입니다. 함수를 처음 강의와 책에서 접했을 때, 매개변수 파트에 매우 집중되어 있다!? 란 느낌적인 느낌을 받았습니다. 함수를 잘~다루기 위해선 짚고 넘어가야 할 필요가 있으므로, 매개변수에 대해 좀더 DEEP 하게 살펴보도록 하겠습니다. 변수인 매개변수 함수에서 사용되는 모든 매개변수는, 기본적으로 변하지 않는 상수이다 상수(Constant)는 값을 수정할 수 없는 고유의 키워드였지요..? 매개변수 또한, 이러한 상수로 취급됩니다! 예시코드를 통해 빠르게 살펴보자면,, inch단위의 길이와 너비를 centimeter 단위로 변환하고, 곱하여 면적을 구하는 함수 func calculateArea (length: Double, width: Double) -> Double { /.. 2022. 11. 17.