🍏(114)
-
[Swift] (기초) Instance / 인스턴스 생성 & 소멸 (init & deinit)
//인스턴스를 생성하는 이니셜라이저와 클래스의 인스턴스가 소멸될 때 호출되는 디이니셜라이저, 그리고 이와 관련된 것들에 대해 알아봅니다. //프로퍼티 초기값 //이니셜라이저 init //디이니셜라이저 deinit // //1. 프로퍼티 초기값 //스위프트의 모든 인스턴스는 초기화와 동시에 모든 프로퍼티에 유효한 값이 할당되어 있어야 합니다. //프로퍼티에 미리 기본값을 할당해두면 인스턴스가 생성됨과 동시에 초기값을 지니게 됩니다. class PersonA { // 모든 저장 프로퍼티에 기본값 할당 var name: String = "unknown" var age: Int = 0 var nickName: String = "nick" } // 인스턴스 생성 let jason: PersonA = PersonA..
2021.08.24 -
[Swift] (기초) Property / 프로퍼티
프로퍼티(Properties) 인스턴스 프로퍼티 (Instance Property) 1. 저장 프로퍼티 (Stored Properties) - 값을 저장하거나 저장된 값을 제공하는 프로퍼티 - 상수 및 변수를 사용해서 정의 가능 - 클래스와 구조체에서는 사용 가능, 열거형에서는 사용 불가능 2. 연산 프로퍼티 (Computed Properties) - 값을 저장하고 있지 않고 특정하게 계산한 값을 반환해 주는 프로퍼티 - 변수만 사용해서 정의 가능 - 클래스, 구조체, 열거형 모두에서 사용 가능 타입 프로퍼티 (Type Properties) - 예외적으로 일부 프로퍼티는 클래스와 구조체 자체에 소속되어 값을 가짐. 프로퍼티 옵저버(Property Observer)를 정의해서 사용자가 정의한 특정한 액션..
2021.08.24 -
[Swift] (기초) Closures / 클로저
1. 클로저(Closure)란?클로저는 이름이 없는 코드 블록으로, 함수처럼 동작하며 코드에서 값을 캡처하고 저장할 수 있습니다.Swift 클로저의 세 가지 주요 유형:전역 함수(Global Function): 이름이 있는 코드 블록이며 값을 캡처하지 않음.중첩 함수(Nested Function): 이름이 있는 코드 블록이며 부모 함수의 값을 캡처할 수 있음.클로저 표현식(Closure Expression): 이름 없는 클로저이며, 주변 컨텍스트의 값을 캡처할 수 있음.클로저의 기본 문법{ (매개변수 목록) -> 반환형 in 실행할 코드 }예제let add: (Int, Int) -> Int = { (a: Int, b: Int) -> Int in return a + b } let result = add(3..
2021.08.24 -
[Swift] (기초) Value Type(값 타입) / Reference Type(참조 타입)
- Class - 전통적인 OOP(Object - oriented programming) 객체 지향 프로그래밍 관점에서의 클래스 - 단일상속 - (인스턴스/타입) 메서드 - (인스턴스/타입) 프로퍼티 - 참조 타입 - Apple 프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성 - Struct - C 언어 등의 구조체보다 다양한 기능 - 상속 불가 - (인스턴스/타입) 메서드 - (인스턴스/타입) 프로퍼티 - 값 타입 - Swift의 대부분의 큰 뼈대는 모두 구조체로 구성 - Enum - Enumeration - 유사한 종류의 여러 값을 유의미한 이름으로 한 곳에 모아 정의. 예) 요일, 상태값, 월(month) 등 - 열거형 자체가 하나의 데이터 타입 열거형의 case 하나하나 전부 하나의 유의미한 ..
2021.08.24 -
[Swift] (기초) Enum / 열거형
열거형 (Enumerations) 열거형은 관련된 값으로 이루어진 그룹을 공통의 형으로(type) 선언해 형 안전성(type-safety)을 보장하는 방법으로 코드를 다룰 수 있게 해줍니다. C나 Objective-C가 Integer값들로 열거형을 구성한 것에 반해 Swift에서는 case값이 string, character, integer, floting 값들을 사용할 수 있습니다. 열거형은 1급 클래스 형(first-class types)이어서 계산된 프로퍼티(computed properties)를 제공하거나 초기화를 지정하거나, 초기 선언을 확장해 사용할 수 있습니다 열거형의 데이터 멤버들은 '정의(Definition)' 개념으로 작성되는 것 이므로 타입으로 사용할 수 있을 뿐만 아니라 컴파일러가 ..
2021.07.16