Dev/Swift16 Swift: Protocol과 Delegate DAY 18 Protocol과 Delegate Delegation Delegation(위임) 은 클래스나 구조체가 일부 책임을 다른 유형의 인스턴스로 전달(또는 위임)할 수 있도록 하는 디자인 패턴 위임된 기능은 프로토콜에서 정의하며, delegate가 위임된 기능을 제공 delegate 대리자, 조력자 델리게이트로 선언된 객체는 자신을 임명한 객체의 요청으로 지정된 메서드를 통하여 처리해 줌 델리게이트 패턴 하나의 객체가 모든 일을 처리하는 것이 아니라, 처리해야 할 일중 일부를 다른 객체에 넘기는 것 보통 프로토콜을 사용 프로토콜(protocol) 특정 클래스와 관련없는 property, method 선언 집합 함수(method) 정의는 없음 기능이나 속성에 대한 설계도 클래스(구조체, 열거형)에서 .. Dev/Swift 2023. 5. 15. Swift: 타입 프로퍼티(Type property) DAY 17 타입 프로퍼티(Type property) 타입 프로퍼티란? 일반적으로 우리가 사용하는 instance property는 새로운 인스턴스를 생성할 때마다 각기 다른 메모리 공간을 갖는다 (다른 인스턴스와 분리된 고유한 속성 값 집합) 하지만 type property는 인스턴스 수에 관계 없이 하나의 공간만 가지고 있다 C의 static constant(정적 상수) 또는 static variable(정적 변수, 전역 변수)와 같은 유형으로 사용되는 것 Type properties are useful for defining values that are universal to all instances of a particular type, such as a constant property that .. Dev/Swift 2023. 5. 15. Swift: 접근 제어(access control, access modifier) DAY 16 접근 제어(access control, access modifier) access modifier 접근 속성(접근 수정자, 액세스 수정자, 액세스 지정자)는 클래스, 메서드, 멤버의 접근 가능성을 설정하는 객체 지향 언어의 키워드 구성 요소를 캡슐화 하는 데 사용한다 Keyword C# C++ Java private class class and/or friend classes class protected derived classes derived classes and/or friend classes derived classes and/or within same package package - - within its package internal same assembly - - public e.. Dev/Swift 2023. 5. 15. Swift: extension DAY 15 extension extension 클래스, 구조체, 열거형, protocol에 새로운 기능을 추가하는 것 extension은 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드, 생성자(initializer), 계산 프로퍼티 등의 기능을 추가하기 위하여 사용함 스위프트 언어의 built-in 클래스와 iOS 프레임워크에 내장된 클래스에 기능을 추가할 때, extension을 이용하면 매우 효과적임 extension 기존타입이름 { // 새로운 기능 } Int 자료형에 extension 이용하여 computed property 추가하기 짝수인지 판별하는 isEven 과 홀수인지 판별하는 isOdd 추가하기 extension Int { var isEven: Bool { return s.. Dev/Swift 2023. 5. 15. Swift: 상속(Inheritance) DAY 13 상속(inheritance) superclass(부모 class) 와 subclass(자식 class) 상속된 클래스는 부모 클래스의 모든 기능을 상속받으며, 자신만의 기능을 추가 상속받은 클래스들을 하위 클래스(subclass) 또는 자식 클래스(child class) 하위 클래스가 상속받은 클래스는 부모 클래스(parent class) 또는 상위 클래스(super class) Swift 상속 단일 상속(single inheritance) Swift에서 하위 클래스는 단 하나의 부모 클래스만 상속받을 수 있음 class 자식: 부모 { } 부모 클래스는 하나만 가능 콜론 다음이 여러 개이면 나머지는 프로토콜 class 클래스명: 부모명, 프로토콜명{} class 클래스명: 프로토콜명{} 상.. Dev/Swift 2023. 5. 15. 이전 1 2 3 4 다음