IOS

XX캠퍼스 강의 - ch03 _Swift 기본 문법(3)

Machine_웅 2022. 6. 3. 16:22
728x90
반응형

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. 고차함수 

스위프트에서 제공하는 고차함수

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형