1. 상속
부모 클래스 ( super )
자식 ( sub )
- 부모의 메서드, 프로퍼티를 사용 할 수 있다.
슈퍼클래스의 함수를 재정의 하려면 오버라이딩이 필요
자식에서 원래 부모의 매서드를 호출 하려면 super 키워드 사용
부모의 프로퍼티 오버라이드 ( setter , gettet , observer 를 재정의 하는것을 의미 )
- 슈퍼클래스의 프로퍼티와 이름과 타입이 동일 해야 오버라이드가 가능하다 .
옵져버 오버라이드
키워드 앞에 final을 추가하는 경우 오버라이드를 할 수 없다 .
2. 타입 캐스팅 ( is , as )
사용 예시
다운 캐스팅 예시 ( as? as! )
- 런타임 에러에 주의
3. assert 와 guard
assert
- 조건이 만족하지 않으면 런타임 에러와 함께 메세지를 출력 한다.
guard
- 함수 내부에서 사용
4. 프로토콜
클래스는 상속 받을 클래스가 있다면 먼저 앞에 써줘야 한다.
프로퍼티 요구 사항 ( 프로퍼티의 이름과 타입, 읽기 쓰기 여부 만 작성 )
사용예시
프로토콜 준수 예
메서드 요구사항
init 요구사항
- 구조체에서는 requird 키워드를 사용할 필요 없다
- 클래스에서는 프로토콜의 생성자를 사용하려면 requird를 사용해야한다.
5. 익스텐션
추가 할수 있는 기능
- 기존 기능을 오버라이딩 할수는 없다 .
사용 예시
함수 확장
6. 열거형 ( enum )
- 연관성있는 값들을 모아놓음
- 새로운 타입 하나를 만든다고 생각하면 된다.
선언
사용
사용예시
7. 옵셔널 체이닝
8. try- catch
오류 생성
do - catch
9. 클로져
- 익명 함수
- 네임드 클로저 / 언네임드 클로저 ( 주로 언네임드를 말한다 )
일급 객체란?
노란색 - 클로저 헤드
빨간색 - 클로저 바디
구분 키워드 in
매개값 없고, 리턴타입 없고
파라미터와 리턴 타입이 있는경우
- 전달인자 레이블을 적으면 안됨
클로저를 함수의 파라미터로 전달하는 경우
클로저를 반환하는 함수
다중 후행 클로저
클로저 간소화
10. 고차함수
스위프트에서 제공하는 고차함수
'IOS' 카테고리의 다른 글
XX캠퍼스 강의 - ch05 _ NavigationController (0) | 2022.06.07 |
---|---|
XX캠퍼스 강의 - ch04 _ UIKit (0) | 2022.06.07 |
XX캠퍼스 강의 - ch04 _xcode (0) | 2022.06.07 |
XX캠퍼스 강의 - ch02 _Swift 기본 문법(2) (0) | 2022.06.02 |
XX캠퍼스 강의 - ch01 _Swift 기본 문법(1) (0) | 2022.05.31 |