본문 바로가기

문법

(20)
[Swift] 옵셔널 체이닝(Optional Chaning)과 빠른종료(guard) 알아보기 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 옵셔널체이닝과 빠른종료 - 옵셔널 체이닝 - 빠른종료 - 포인트 정리 - 궁금증 # 옵셔널체이닝 값이 중첩된 형태를 띄어야 제몫을 발휘하는 친구이며 옵셔널을 이해하지 못한다면 스위프트의 절반도 이해하지 못한것과 마찬가지이다. 옵셔널 체이닝이 없다면 옵셔널은 정말로 귀찮고 또 귀찮은 존재일 수 밖에 없다. 이번 장에서는 옵셔널을 좀더 편리하게 사용할 수 있는 옵셔널 체이닝과 빠른 종료 문법에 대해 알아보자 해석) 옵셔널 체이닝이란 현재 값이 nil일 수 있수도 있는 옵셔널에 대한 메서드나 프로퍼티와 서브스크립트를 캐묻거나 호출하기위한 방식이다. 만일 옵셔널타입에 값이 포함되 있으면 프로퍼티나 메서드 혹은 서브스크립트를 ..
[Swift] Closure 알아보기 1부(Feat. 함수타입?) 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 카테고리 - 클로저 - 기본클로저 - 후행클로저 - 클로저 표현 간소화 - 문맥을 이용한 타입유추 - 단축인자이름 - 암시적 반환 표현 - 연산자 함수 - 값 획득 - 포인트정리 - 궁금증 클로저란 => 여러곳에 사용될 수 있는 자체 기능블록이 포함된것이다. 스위프트에서 함수평 프로그래밍 패러다임을 접할 때 첫걸음으로 꼭 알아야할 녀석이 바로 클로저이다. 클로저를 잘 이해해야 스위프트의 함수형 프로그래밍 패러다임 스타일을 좀 더 명확하게 이해할 수 있다. 클로저와 제네릭, 프로토콜, 모나드등이 결합해서 스위프트는 훨씬 강력한 언어가 되었습니다. 스위프트의 클로저는 C언어나 Objective-C의 블록 또는 다른 프로그..
[Swift] API Design Guidelines 읽어보기 프로그래밍에서 가장 중요하면서도 시간이 많이 투자가되는 네이밍과 규칙들을 알아보자. 영문번역을 직접시도하면 좋았으나 시간이 오래걸려 번역본글을 참고했다. - 사용 시점을 명확하게 하는것이 가장 중요한 목표이다. 메서드와 프로퍼티같은 요소들은 반복되서 사용되지만 한번만 선언된다. 용도가 명확하고 견결하게 API를 설계한다. 설계를 평가할때, 선언된 것을 읽는 것으로 충분하지 않다. 맥락이 명확히 보이는지 확인하기 위해 항상 사례를 검토한다. - 명확한 것은 간결한 것보다 중요하다. Swift는 코드를 간결하게 할 수 있지만, 가장 적은 문자들로 가장작은 코드가 가능하지만 그게 목표가 아니다. Swift코드의 간결함은 강한 타입 시스템의 부작용이 발생하고 자연스럽게 상용구를 줄이게 해준다. - 모든 선언에 ..
[Swift]접근 제어(Access Control)를 알아보자 주의 : 배우는 과정이기에 정확하지않는 정보가 있을 수 있습니다. 접근제어란? 코드끼리 상호작용을 할때 파일간 또는 모듈간에 접근을 제한할 수 있는 기능 접근제어 - 접근제어 - 접근제어의 필요성 - 모듈과 소스파일 - 접근수준 - 접근제어 구현 참고사항 - private 와 fileprivate - 읽기 전용 구현 - 포인트 정리 - 궁금증 접근제어 객체지향 프로그래밍 패러다임에서 은닉화는 중요한 개념중 하나이다. 이번장에서 이를 구현하기 위한 핵심 기능인 접근제어에 대해 알아보자 접근제어란? 접근제어는 코드끼리 상호작용을 할때 파일간 또는 모듈간에 접근을 제한할 수 있는 기능이다. 접근제어를 통해 코드의 상세구현은 숨기고 허용된 기능만 사용하는 인터페이스를 제공할 수 있다. 접근제어의 필요성 객체지향..
[Swift] 인스턴스 생성과 소멸을 알아보자 주의 : 배우는 과정이기에 정확하지않는 정보가 있을 수 있습니다. 인스턴스 생성과 소멸 - 인스턴스 생성 - 프로퍼티 기본값 - 이니셜라이저 매개변수 - 옵셔널 프로퍼티 타입 - 상수 프로퍼티 - 초기화 위임 - 실패 가능한 이니셜라이저 - 인스턴스 소멸 - 포인트 정리 - 궁금증 인스턴스 생성과 소멸 구조체와 클래스 생성할 때는 지금까지 기본 이니셜라이저를 사용해 인스턴스를 생성했다. 초기화는 클래스나 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비 과정이다. 초기화가 완료된 인스턴스는 사용 후 소멸시점이 오면 소멸합니다. 이번 장에서는 인스턴스를 생성하는 방법과 클래스의 인스턴스가 소멸할 때 어떤 프로세스가 진행되는지 알아보자. 클래스 인스턴스의 소멸 시점은 ARC에서, 클래스의 이니셜라이저와 이..
[Swift]프로퍼티와 메서드 알아보기 2부(Feat. 고차함수) 주의 : 초보이기에 정확하지않는 정보가 있을 수 있습니다. 프로퍼티와 메서드 알아보기 2부 - 타입 프로퍼티(Type Propertie) - 키 경로(KeyAndPath) - 메서드(Method) - 인스턴스 메서드(Instance Method) - self프로퍼티 - 타입 메서드(Type Method) - 포인트 정리 - 궁금증 타입 프로퍼티 이제까지 알아본 프로퍼티 개념은 모두 타입을 정의하고 해당 타입의 인스턴스가 생성되었을때 사용할 수 있는 인스턴스 프로퍼티이다. 인스턴스 프로퍼티는 인스턴스를 새로 생성할 때마다 초깃값에 해당하는 값이 프로퍼티의 값이 되고, 인스턴스마다 다른 값을 지닐 수 있다. => 인스턴스 프로퍼티는 생성시 독립적인 형태이며 여러개를 생성하여 각각 다른 값으로 활용할 수있다...
[Swift]프로퍼티와 메서드 알아보기 1부 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 프로퍼티와 메서드 알아보기 1부 - 프로퍼티(Propertie) - 저장 프로퍼티(Stored Propertie) - 지연 저장 프로퍼티(lazy Stored Propertie) - 연산 프로퍼티(Computed Propertie) - 프로퍼티 감시자(Propertie Observerse) - 전역변수(Global Variable)와 지역변수(Local Variable) 프로퍼티는 클래스, 구조체 또는 열거형 등에 관련된 값을 뜻한다. 메서드는 특징 타입에 관련된 함수를 뜻한다. 우리가 앞서 봤던 변수나, 상수 등이 어떤 목적으로쓰이냐, 어디에서 어떻게 쓰이냐에 따라 용어가 조금씩 달라진 뿐이다. 프로퍼티 해석) "프..
[Swift]클래스와(class)와 (struct) 구조체를 알아보자 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 구조체와 클래스 - 구조체 - 클래스 - 클래스 인스턴스 생성과 초기화 - 클래스 인스턴스 소멸 - 구조체와 클래스의 차이 - 값 타입과 참조타입 - 스위프트의 기본 데이터 타입은 모두 구조체 - 구조체와 클래스 선택해서 사용하기 공식문서에서 소개하는 구조체와 클래스 " Structures and classes are general-purpose, flexible constructs that become the building blocks of your program’s code " => 구조체와 클래스는 프로그램코드의 빌딩 블록이 되는 유연한 범용구조이다. 구조체와 클래스는 프로그래머가 데이터를 용도에 맞게 묶어 표..
[Swift] Functions의 개념과 활용점 알아보기! 주의 : Swift프로그래밍 3판 야곰책을 참고했으며 배우는 과정이기에 오탈자나 정확하지않는 정보가 있을 수 있습니다. 카테고리 - 함수란 - 기본적인 함수의 정의와 호출 - 매개변수 - 매개변수 이름과 전달인자 레이블 - 전달인자 레이블 변경을 통한 함수 중복정의 - 매개변수 기본값 - 가변 매개변수와 입출력 매개변수 - 반환이 없는 함수 - 데이터 타입으로서의 함수 - 중첩함수 - 종료되지않는 함수 - 반환값을 무시할 수 있는 함수 함수란(= 가장 작은 단위이자 하나의 작은프로그램) 함수 대부분은 작업의 가장 작은 단위이자 하나의 작은프로그램이다. '하나의 프로그램은 하나의 큰 함수다' 라는 말이 있듯이, 함수는 프로그램을 이루는 중요한 요소 중 하나이다. **스위프트에서 함수는 일급객체이기 때문에 ..
[Swift]Enumerations 개념정리 및 활용법 알아보기 주의 : 영문서 번역 중 오역이 있을 수 있으며 정확하지않는 정보가 있을 수 있습니다. 카테고리 - 열거형의 선언 및 변수생성과 값변경 - 열거형의 원시값 지정과 사용 - 원시값을 통한 열거형 초기화 - 연관 값을 갖는 열거형 - 항목순회 - 플랫폼별로 사용하는 조건 추가 - 연관값을 갖는 열거형의 항목 순회 - 순환 열거형 - 비교가능한 열거형 - 포인트정리 및 궁금증 열거형 연관된 항목들을 묶어 표현할 수 있는 타입이다. 열거형은 배열이나 딕셔너리 같은 타입과 다르게 프로그래머가 정해준 항목 값 외에는 추가/ 수정이 불가하다. 고로 딱 정해진 값만 열거형 값에 속할 수 있다. 열거형은 다음과 같은 경우에 요긴하게 사용할 수 있다. - 제한된 선택지를 주고 싶을때 - 정해진 값 외에는 입력받고 싶지않을..