본문 바로가기

iOS/Swift40

[iOS/Swift] 클래스(Class)의 선언과 구성요소 파악하기 지난 포스팅의 주제인, 인스턴스(객체)를 실체화 하는 추상화된 틀, 클래스(Class)에 대한 선언방식, 그리고 구성요소에 대해 예시코드를 바탕으로 살펴보도록 하겠습니다. 아래 내용은 이번 포스팅에서 계속해서 다룰 예시 상황입니다. A 은행은 청년을 위한 저축계좌 상품을 만들었습니다. - 해당 계좌는 총 1,000,000원의 저축 한도가 정해져 있습니다. - 또한, 계좌번호와 현재의 잔액을 파악할 수 있는 기능이 있습니다. Swift 클래스 선언하기 인스턴스(객체)의 구체화를 위한 '청사진' 만들기 A은행은, 저축계좌 상품을 만들기 위해 청사진(Blueprint), 용어 그대로 설계를 목적으로 한 틀인 공통적인 조건의 계좌 클래스(Class)를 생성합니다. 클래스 기본구문 새롭게 생성하는 클래스(틀)는,.. 2023. 1. 31.
[iOS/Swift] 프레임워크(Framework)와 클래스(Class)와의 관계 Swift은 다중 패러다임 언어이며, 아래와 같은 프로그래밍 패러다임을 차용합니다. Swift의 언어 패러다임은? "명령형/객체지향을 기반으로, 함수형/프로토콜 프로그래밍을 지향하는 언어 위와 같이 Swift의 언어에 대해 정의한 내용 중, 이번 파트에서는 '객체지향을 기반으로 한다' 란 의미에 대해 집중해보고자 합니다. 혹시, 프레임워크(Framework)란 용어에 개념을 알고 계신가요? 애플의 프레임워크의 대부분은, 객체지향 프로그래밍을 기반으로 설계된 클래스(Class)로 구성되어 있습니다. 따라서 iOS 플랫폼을 활용한 개발자라면, 프레임워크와 클래스에 대해 이해할 필요가 있습니다. 프레임워크(Framework)와 클래스와의 관계 SW의 구체적인 부분에 해당하는 설계와 구현을 재사용하게끔 클래스.. 2023. 1. 30.
[iOS/Swift] 클로저 표현식을 간단하게! 문법 경량화 클로저 관련 포스팅 세 번째 시간입니다! 🤪 클로저 표현식(Closure Expression)의 형태가 다소 난해해서 앞으로 어떻게 사용할지, 막막한 생각에 사로잡히길 마련입니다. 따라서, 이번 포스팅에서는 조금 더 간결하고, 편리하게 클로저를 작성하고 활용할 수 있는 클로저 표현식의 경량문법에 대해 다뤄볼까 합니다. 클로저의 경량문법(lightweight syntax) 클로저 구문의 최적화를 위한 단축된 문법형태 보기만 해도 복잡 다난한 클로저를 단순하고 간결하게 작성하고 활용할 수 있습니다! 클로저의 경량문법을 아래와 같이 3단계로 구분해보았습니다. 타입유추를 통한 매개변수 및 리턴형식 생략 짧은 인자이름 (Shorthand Argument Names) 후행 클로저(Trailing Closures) .. 2023. 1. 27.
[iOS/Swift] 클로저 표현식(Closure Expression)과 1급 객체 조건 지난 포스팅에 이어.. 기존에 작성해 온 함수(전역함수 및 중첩함수)와 클로저 표현식과의 차이점, 1급 객체함수의 특징, 조건을 클로저를 활용한다면 어떤 방식일지 예시 코드와 함께 다뤄보도록 하겠습니다. (관련된 예시 코드는, Swift 공식 가이드북에서 발췌) 클로저 (The Swift Programming Language) 클로저 (Closures) - Swift 다음은 Int 값의 배열을 String 값의 배열로 변환하기 위해 후행 클로저와 map(_:) 메서드를 어떻게 사용하는지 나타냅니다. 배열 [16, 58, 510] 은 새로운 배열 ["OneSix", "FiveEight", "FiveOneZero"] 을 생성하는 bbiguduk.gitbook.io 클로저 표현식(Closure Expressi.. 2023. 1. 26.
[iOS/Swift] 익명 혹은 람다함수는 모두 클로저(Closure)일까? 무수한 함수 포스팅을 헤쳐나와.. 본격적인 프로그래밍을 진행하기에 앞서, 이곳 저곳에서 자주 사용하게 될 클로저(Closure)에 대해 살펴볼까 합니다. 함수보다 아주 조-금 머리아픈 복잡한 내용일 수 있으니 이번 포스팅에서는 클로저의 개념만 살짝 짚고 넘어가겠습니다. 클로저(Closure)에 대하여 익명함수(Unnamed) 외, 이름이 있는 함수(Named) 또한 클로저이다 The Swift Language Guide 에서 소개하는 클로저는 다음과 같습니다. 클로저(Closure) 코드블럭으로 C와 Objective-C의 블럭(blocks)과 다른 언어의 ❶람다(lambdas)와 비슷합니다. 클로저는 어떤 상수나 변수의 참조를 ❷캡쳐(capture)해 저장할 수 있습니다. ??? 아무리 읽어봐도 도통 .. 2023. 1. 25.
[iOS/Swift] 1등 시민, 1급 객체함수 (First Class Citizen) 드디어, 함수 마지막 파트까지 도달했네요! 앞서 다룬 함수관련 포스팅의 내용 중... 함수의 표기법 (Function Notation) : 함수를 '명명'하는 일종의 규칙 함수의 타입(Function Type) : 함수 또한 일종의 '복합타입' 위 2가지 매우 간단한 개념은 이번 포스팅에서 배울 1급 객체함수에서 활용됩니다. Swift의 프로그래밍 패러다임과 1급 객체 Swift는, 함수형 프로그래밍 지향 패러다임에 따라 1급 객체로서의 조건을 갖춘다 '1급 객체' 란 생소한 개념은, Swift란 프로그래밍 언어의 패러다임에서 시작됩니다. 현재 다루고 있는 Swift란 언어는 '객체지향 언어'이자, '함수형 프로그래밍' 패러다임을 지향하는 언어입니다. (CS 파트에서 객체지향 및 함수형 프로그래밍에 대해.. 2023. 1. 18.