클래스(class or type) 메서드
▸ 타입 메서드 또는 클래스 메서드는 클래스 레벨에서 동작
▸ 타입 메서드는 인스턴스 메서드와 동일한 방법으로 선언하지만 class나 static 키워드를 앞에 붙여서 선언
▸ class키워드로 만든 클래스 메서드는 자식 클래스에서 override가능 함
init 함수
▸ 인스턴스가 만들어지면서 자동 호출됨
▸ init 메서드(생성자)
init() {
}
▸ designated initializer : 모든 프로퍼티(age, weight)를 다 초기화시키는 생성자
▸ 소멸자
- 인스턴스가 사라질 때 자동 호출
- deinit{}
self
▸ 현재 클래스 내 메서드나 프로퍼티를 가리킬 때 메서드나 프로퍼티 앞에 self.을 붙임
▸ 매개변수와 구분이 필요할 경우 반드시 self. 을 써줘야함.
computed property
▸ computed property(계산 프로퍼티)는 property가 설정되거나 검색되는 시점에서 계산 또는 파생된 값
▸ 계산 프로퍼티 내에는
1, 값을 리턴하는 게터(getter) 메서드
2, 값을 대입하는 세터(setter) 메서드
▸ manAge는 계산 프로퍼티로 저장 프로퍼티 age의 값에서 1을 뺀 값으로 하겠다는 것임
▸ getter - setter가 없다면 생략 가능
▸ setter - 매개변수 명은 newValue가 기본. ( 매개변수명이 newValue인 경우엔 (newValue) 생략 가능 )
set(newValue){
age = newValue + 1
}
method overloading : 생성자 중첩
▸ 매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러 개 정의
▸ 매개변수가 다른 두 생성자를 통해 두가지 방법으로 인스턴스를 만들 수 있음
Failable Initializers(실패 가능한 생성자: init?)
▸ init?로 만든 인스턴스는 옵셔널형으로 만들어져서, 사용하려면 옵셔널을 언래핑해야 해서 제일 마지막에 “!”가 있음
▸ 오류 상황에 nil을 리턴하는 조건문이 있음.
? : 값이 없을 수 도 있다
Swift 상속
▸ 단일 상속
class 자식:부모 {
}
▸ 부모 클래스는 하나만 가능
▸ 콜론 다음이 여러 개이면 나머지는 프로토콜
class 클래스명:부모명, 프로토콜명{}
▸ 클래스, 구조체(struct), 열거형(enum), extension에 프로토콜을 채택(adopt)할 수 있다
iOS프로그래밍기초(21-2학기)한성현교수님 강의 내용 변형 및 요약
'2021_iOS [ Swift ] > 강의 내용 정리' 카테고리의 다른 글
Xcode 화면구성 (0) | 2021.11.02 |
---|---|
7주차 [ Swift 문법 : extension, 접근 제어, protocol, enum] (0) | 2021.10.14 |
5주차 : Swift 문법 4 [ 1급 객체(first class object), 클로저(closure), 클래스(class)] (0) | 2021.10.03 |
4주차 : Swift 문법 3(guard, switch-case, where, 함수) (0) | 2021.09.25 |
3주차 : Swift 문법 2(Optional, as, nil, Any, AnyObject, 연산자, 제어문1) (0) | 2021.09.15 |
댓글