본문 바로가기

분류 전체보기71

[CS/Basic] 객체지향 프로그래밍의 특징과 설계원칙(SOLID) 자, 이번 포스팅은 지난번 객체지향 포스팅에서 미처 다루지 못했던 객체지향 프로그래밍의 4가지 특징 그리고 객체지향 설계 원칙(SOLID) 위 2가지 사항에 대하여 살펴볼 예정입니다. 이전에 다룬 객체지향에 대한 내용이 어렵지 않다면, 이해하고 숙지하는데 큰 어려움은 없지 않을까 하는.. 객체지향 프로그래밍의 개념 (복습!) [CS/Basic] 마침내, 객체지향 프로그래밍 (OOP, Object-Oriented Programming) 쉴새없이 달려온 프로그래밍 패러다임,, 마침내, 프로그래밍을 조금이라도 맛본 개발자들이라면 오다가다 자주 마주치는 '객제지향' 에 대해 다뤄보는 시간을 가져볼까 합니다. '객체(Object)' 란 iosdevlime.tistory.com 객체지향 프로그래밍의 4가지 특징 추.. 2023. 2. 1.
[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.