본문 바로가기
2021_iOS [ Swift ]/강의 내용 정리

6주차 : Swift 문법 5 [ 클래스, Failable initializer , 상속, override ]

by 황민우 2021. 10. 11.

클래스(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학기)한성현교수님 강의 내용 변형 및 요약

댓글