INDEX 1. 메서드(Methods) 2. 서브스크립트(Subcripts) 3. 접근제어(Access Control) 4. 싱글톤 패턴(Singleton) 5. 마무리 이번 포스팅에서는 지난 속성(properties)에 이어서 클래스와 구조체에서 쓰이는 것들을 한데 묶어서 정리하고자 한다. 각각의 개념자체는 어렵지 않지만, 코드를 치는데 익숙하지 않고, 개념이 확실하게 정립되어 있지 않다면 흐릿하게 기억될 것이다. 1. 메서드(Methods) 1-1 인스턴스 메서드(Instance Methods) : func() 클레스/구조체/(열거형)에 정의된 우리가 일반적으로 알고 있는 함수 메서드이기 때문에, 인스턴스에 메모리공간이 따로 할당되지는 않는다. 따라서 인스턴스를 생성해야만 메서드에 접근 가능 => 코..
(프로퍼티를 속성이라고 불렀습니다.) INDEX 1. 저장 속성(Stored) / 지연(lazy)저장 속성(Properties) 2. 계산속성(computed Properties) 3. 타입속성(Type Properties) 4. 속성 감시자(Property Observers) 5. 마무리 1. 저장속성(Stored) / 지연(lazy)저장속성 1-1 저장 속성(Stored Properties) 저장속성: 변수나 상수로 값이 저장되는 일반적인 속성 주의점: 저장속성이 타입선언만 되었다면, 생성자를 통해 반드시 초기화 해줘야 한다. struct Bird { var name: String //저장속성 var weight: Double //저장속성 init(name: String, weight: Double)..
INDEX 1. 용어에 대한 이해 2. 클래스와 구조체의 정의 및 초기화 3. 클레스와 구조체의 차이점 4. 객체지향(OOP)의 4대 원칙 5. 마무리 6.출처 이번 포스팅에서는 구조체와 클래스의 기본적인 개념에 대해서, 차이점을 중심으로 설명하고자 한다. Swift에서 구조체와 클래스는 너무나 중요하다. 먼저 이 개념을 공부하는 데 있어서, 기본적인 용어를 정리하고, 구조체와 클래스를 선언하고 초기화해본뒤 둘의 차이점과 공통점에 대해 소개하며 객체지향의 특징을 끝으로 1부를 마무리 한다. 이번 포스팅은 코드보다는 용어와 텍스트 자체에 집중해야한다. 코드도 중요하지만, 밑바탕이 되는 지식이 자리잡혀 있어야 더 정확하게 이해하고 배울 수 있다고 생각한다. 특히 구조체와 클래스의 차이점은 면접에서도 자주 나..
Index 1. 열거형의 정의 및 조건문 2. 열거형의 원시값(RawValues)과 연관값(associated Values) 3. ⭐️옵셔널 타입에 대한 정확한 이해⭐️ 4. 열거형의 활용 5. 열거형의 배열 타입의 반복문 출력 예제 6. 마무리 1. 열거형의 정의 및 조건문 1-1 열거형의 정의 열거형(enumerations): 연관된 case들을 하나의 이름으로 묶은 자료형(타입) 1. 열거형은 언제 사용하는가? 한정된 사례 안에서 정의할 수 있을때, 정해놓은 값만 입력받고 싶을때 2. 열거형의 장점은? 코드의 가독성과 안정성이 높아져 명확한 분기처리가 가능함 enum은 value타입으로 stack영역에 저장되기때문에 성능 향상에 도움 1-2 열거형의 조건문 열거형은 한정된 사례내에서 정의하기에, s..
Index 1. 배열(Array) 2. 딕셔너리(Dictionary) 3. 집합(Set) 4. 마무리 5. 출처 쉬운 개념들이기 때문에 최소한의 코드만 남기고 다음 포스팅으로 넘어가고자 한다. (이거보다 힘주어 공부해야할 게 더 많다...) 1. 배열(Array) 1-1 기본문법, 빈배열 생성, 배열의 기본 성질 //정식 문법 var numsArray: Array = [1,2,3,4,5] //단축 문법 var numsArray2: [Int] = [] //빈 배열 생성 let emptyArray = Array() let emptyArray2 = [Int]() numsArray.isEmpty //false numsArray.contains(2) //true numsArray.contains(7) //fals..
INDEX 1. 옵셔널(Optional) 타입? 2. ⭐️Optional Unwrapping 4가지 방법 3. ⭐️옵셔널 체이닝(optional chaining)⭐️ 4. IUO 타입(Implicitly Unwrapped Optional) 5. 함수의 파라미터로 옵셔널 타입 6. 마무리 1. 옵셔널(Optional) 타입? 1-1. Optional 타입과 nil에 대한 기본적인 설명 옵셔널(Optional) 타입이란(직역: 선택적인) 말 그대로 값이 있을 수도 있고 없을 수도(nil) 있음을 의미한다. 옵셔널을 이해하기 위해서는 먼저 스위프트라는 언어의 특징중 하나인 안정성(safety)과 nil에 대해 알 필요가 있다. (다른 언어에서는 값이 없음을 NULL이라고 하지만) 스위프트에서는 값이 없음을 n..
Index 1. Swift의 함수(Functions) 2. parameter와 argument 3. 함수의 오버로딩(overloading) 및 함수타입(Function Types) 4. 마무리 1. Swift의 함수(Functions) Swift에서 함수의 가장 기본적인 형태를 설명한다. 간단한 설명과 예시 코드만 작성하고 넘어간다. 함수는 크게 4종류로 나뉜다. 1. input O, output O : input과 output 둘다 있는 함수 2. input O, output X: input만 있는 함수 3. input X, output O: output만 있는 함수 4. input X, output X: 둘다 없는 함수 1. input O, output O : input과 output 둘다 있는 함수..
INDEX 1. 튜플(Tuples) 2. 반복문 - for문, while문, repeat-while문 3. continue와 break 4. 마무리 1. 튜플(Tuples) 1. 튜플이란 2. 데이터 값 접근(점을 통한 접근, Named Tuple) 3. switch문에서의 활용(바인딩, where절 활용, 범위연산자) 1. 튜플은 여러개의 연관된 데이터를 하나로 묶어서 간단하게 사용하는 타입이다. Int, Double., String등 여러 타입이 함께 들어가 있어도 되지만 주의할 점은 튜플을 최초로 만든 이후에는 데이터 값의 추가와 삭제가 불가능하다. let threeNumbers = (1, 2, 5) print(threeNumbers)) // 1,2,5 출력 type(of: threeNumbers)..