Taehyeon-Kim/SeSAC

Swift 정리(2)

Taehyeon-Kim opened this issue · 0 comments

함수

함수, 매개변수, 반환값

조건문의 사용

매개변수

  • 외부(argument label) : 함수 호출 시에 사용, argument : call 시에 실제 사용되는 값
  • 내부(parameter) : 함수 안에서 사용
  • https://eunjin3786.tistory.com/465
  • 와일드 카드(_) 패턴 : 외부 매개변수 대체
  • 매개변수의 기본값 : 전달되는 인자가 없을 때 기본적으로 사용되는 값
func greeting(to name: string = "손님")

// 오버로딩 가능
// greeting()
// greeting(to:)
  • inout 매개변수
  • 가변 매개변수 (...) : 여러 개의 타입을 가변 매개변수로 사용 가능

반환값

프로퍼티/메서드

  • 인스턴스 : let var func
  • 타입 : static, class - 메모리에 한번만 올라감, 앱 종료시까지 유지됨, 컬러/폰트 등에 사용, 처음 접근시에 올라감(지연 초기화 방식으로 동작)

프로퍼티

  • 저장(stored) : 메모리에 공간 필요
  • 연산(computed) : 메모리에 공간 불필요, 열거형에서 많이 보임, get/set 구문(set: newValue)
  • 옵저버(observer) : willSet(newValue), didSet(oldValue)

mutating

클래스 vs 구조체

클래스 구조체
참조 타입 값 타입
상속 o 상속 x
타입 캐스팅 가능 -
타입 캐스팅에서 에러가 발생하면 런타임 에러 발생
ARC
멤버와이즈 이니셜라이저

Dispatch

  • static vs dispatch
  • 메서드가 메모리에서 동작하는 방식

Static Dispatch