분류 전체보기
-
Swift 5.6 Inheritance기술/iOS 2022. 3. 20. 17:48
Inheritance Defining a Base Class 다른 클래스에서 상속하지 않은 클래스를 기본 클래스라고 합니다. SubClassing 하위 클래스는 기존 클래스를 기반으로 클래스를 만드는 작업잉ㅂ니다. 하위 클래스는 기존 클래스의 특성을 상속하므로 수정할 수 있습니다. 하위 클래스에 새로운 특성도 추가할 수 있습니다. class SomeSubclass: SomeSuperclass { // subclass definition goes here } Overriding 하위 클래스는 상위 클래스에서 상속할 인스턴스 메서드, 타입 메서드, 인스턴스 프로퍼티, 타입 프로퍼티, 또는 서브스크립트 자체 사용자 구현을 제공할 수 있습니다. 이것을 재정의라고 합니다. 상속될 특성을 재정의하려면 재정의 할 정..
-
Swift 5.6 Subscripts기술/iOS 2022. 3. 20. 17:48
Subscripts Subscript Syntax 서브 스크립트를 사용하면 인스턴스 이름 뒤 대괄호에 하나 이상의 값을 작성하여 타입의 인스턴스를 조회할 수 있습니다. 이 구문은 인스턴스 메서드 구문과 계산된 프로퍼티와 유사합니다. subscript 키워드로 서브스크립트 정의를 작성하고 인스턴스 메서드와 같은 방법으로 하나 이상의 입력 파라미터와 반환 타입을 작성합니다. 인스턴스 메서드와 다르게 서브 스크립트는 읽기-쓰기 또는 읽기 전용이 될 수 있습니다. 이러한 동작은 계산된 프로퍼티와 같은 방법으로 getter 와 setter 를 통해 동작합니다 subscript(index: Int) -> Int { get { // Return an appropriate subscript value here. } s..
-
Swift 5.6 Methods기술/iOS 2022. 3. 20. 17:46
Methods Instane Methods 인스턴스 메서드는 특정 클래스, 구조체, 열거형의 인스턴스에 속하는 함수입니다. 인스턴스 프로퍼티에 접근하고 수정하는 방법을 제공하거나 인스턴스의 목적과 관련된 기능을 제공합니다. The self Property 타입의 모든 인스턴스는 인스턴스 자체와 정확히 일치하는 self 라는 암시적 프로퍼티를 가지고 있습니다. 자체 인스턴스 메서드 내에서 현재 인스턴스를 참조하기 위해 self 프로퍼티를 사용합니다. 실제로 코드에서 self 를 꼭 작성할 필요는 없습니다. self 를 명시적으로 작성하지 않으면 Swift 는 메서드 내에서 이미 알고 있는 프로퍼티 또는 메서드 이름을 사용할 때마다 현재 인스턴스의 프로퍼티 또는 메서드를 참조한다고 가정합니다. 이 규칙의 주..
-
Swift 5.6 Properties기술/iOS 2022. 3. 20. 17:45
Properties Stored Properties 가장 간단한 형식으로 저장된 프로퍼티는 특정 클래스 또는 구조체의 인스턴스 부분으로 저장된 상수 또는 변수입니다. 기본 값을 제공 가능합니다. Stored Properties of Constant Structure Instances 구조체의 인스턴스를 생성하고 상수로 할당하면 프로퍼티 변수로 선언되어있어도 인스턴스의 프로퍼티를 수정할 수 없습니다. 이는 클래스의 동작과는 다릅니다. Lazy Stored Properties 지연 저장된 프로퍼티는 처음 사용될때까지 초기 값은 계산되지 않는 프로퍼티 입니다. lazy 수정자를 붙여 나타냅니다. NOTE 인스턴스 초기화가 완료된 후에도 초기 값이 없을 수 있으므로 지연 프로퍼티는 var 키웓를 사용하여 변수로..
-
Swift 5.6 Structures and Classes기술/iOS 2022. 3. 20. 17:44
Structures and Classes 다른 프로그래밍 언어와 달리 Swift 는 사용자 정의 구조체와 클래스에 대해 별도의 인터페이스와 구현 파일을 만들 필요가 없습니다. Swift 에서 단일 파일로 구조체 또는 클래스를 정의하면 해당 클래스 또는 구조체에 대한 외부 인터페이스가 자동으로 다른 코드에서 사용할 수 있습니다. Comparing Structures and Classes Swift 에서 구조체와 클래스는 공통점이 많습니다. 둘다 아래의 내용이 가능합니다. 값을 저장하는 프로퍼티 정의 기능 제공을 위한 메서드 정의 서브 스크립트 구문을 사용하여 값에 접근을 제공하는 서브스크립트 정의 초기화 상태를 설정하기 위한 초기화 정의 기본 구현을 넘어 기능적 확장을 위한 확장 특정 표준 기능을 제공하는..
-
Swift 5.6 Enumerations기술/iOS 2022. 3. 20. 17:44
Enumerations Enumeration Syntax enum CompassPoint { case north case south case east case west } 열거형 안에 정의된 값은 열거형 케이스 입니다. 새로운 열거형 케이스를 나타내기 위해 case 를 사용합니다. 여러개의 케이스는 콤마로 구분하여 한 줄로 표기할 수 있습니다. 각 열거형 정의는 새로운 타입으로 정의합니다. Swift 의 다른 타입처럼 대문자로 시작하는 그들의 이름이 ( CompassPoint ) 타입입니다. 열거형 타입에 복수 이름이 아닌 단수 이름으로 지정하여 읽기 쉽습니다. Matching Enumeration Values with Switch Statement switch 구문으로 각각의 열거형 값을 일치시킬수 있..
-
Swift 5.6 Closures기술/iOS 2022. 3. 20. 17:43
Closures 클로저는 정의된 컨텍스트에서 모든 상수와 변수에 대한 참조를 캡처하고 저장할 수 있습니다. 이러한 상수와 변수를 폐쇠라고 합니다. 함수에서 소개한 전역과 중첩함수는 클로저의 특별한 케이스입니다. 클로저는 3가지 형태 중 하나를 취합니다. 전역함수는 이름을 가지고 어떠한 값도 캡처하지 않는 클로저입니다. 중첩함수는 이름을 가지고 둘러싼 함수로부터 값을 캡처할 수 있는 클로저입니다. 클로저 표현식은 주변 컨텍스트에서 값을 캡처할 수 있는 경량 구문으로 작성된 이름 없는 클로저입니다. Swift 에서 클로저 표현식은 일반 시나리오에서 간단하고 깔끔한 구문을 장려하는 최적화를 통해 깔끔하고 명료한 스타일을 가지고 있습니다. 컨텍스트에서 파라미터와 반환값 유추 단일 표현식 클로저 암시적 반환 약식..
-
Swift 5.6 Functions기술/iOS 2022. 3. 20. 17:41
Functions Defining and Calling Functions Functions with Multiple Return Values 여러 개의 값을 반환하기 위해 함수의 반환 타입으로 튜플 타입을 사용할 수 있습니다. func minMax(array: [Int]) -> (min: Int, max: Int) { var currentMin = array[0] var currentMax = array[0] for value in array[1.. currentMax { currentMax = value } } return (currentMin, currentMax) } 함수의 반환 값을 조회할 때 이름으로 접근할 수 있도록 min, max 로 라벨되어 있습니다. let bounds = minMax(a..