Blog

Swift Study #4 후기

August 4, 2014

Swift Study #4 후기

Classes and Structures

  • 클래스와 구조체의 공통점
    • 프로퍼티, 메소드, 서브스크립트, 초기화, 확장, 프로토콜
  • 클래스만의 특징
    • 상속, 형변환, 소멸, 참조
  • 구조체와 열거형은 값 타입으로 할당되거나 전달될 때 복사
  • 클래스는 참조 타입으로 복사되지 않고 레퍼런스가 사용
  • 같은 인스턴스를 참조하는지 확인하기 위해 식별연산자(===)를 사용

Properties

  • 속성은 특정 클래스, 구조체, 혹은 열거형과 값들을 연결
  • 저장속성은 인스턴스에 저장, 계산속성은 값을 계산하여 사용, 타입 속성은 타입 자체에 연결
  • var 키워드로 선언되면 변수저장속성, let 키워드로 선언되면 상수저장속성
  • 게으른(lazy) 저장속성은 그 초기값이 최초로 사용되기 전까지는 계산되지 않음
  • 계산속성은 실제로 값을 저장하지 않고, 다른 속성이나 값들을 간접적으로 접근하여 값을 조회하거나 수정할 수 있는 getter와 setter를 선택적으로 제공
  • 읽기전용 계산속성은 getter만 있고 setter가 없는 계산속성
  • 속성 감시자는 속성값 변경을 감시하고 대응, willSet은 값이 저장되기 직전에 호출 / didSet은 새 값이 저장된 직후에 즉시 호출
  • 타입 속성은 해당 타입 자체에 속한 속성, 특정 타입의 모든 인스턴스에 영향을 미치는 값을 정의하는 데 유용

Methods

  • 메소드(method)는 타입에 의존적인 함수(function)
  • 인스턴스 메소드는 특정 클래스, 구조체, 혹은 열거형에 속하는 함수
  • 인스턴스 메소드는 다른 인스턴스 메소드와 해당 타입의 속성에 대한 접근이 가능, 해당 타입이 속한 특정한 인스턴스에 의해서만 호출 가능
  • 메소드 내 첫 번째 파라미터 이름은 기본적으로 지역 파라미터 이름으로 지정, 두 번째 파라미터부터는 지역 파라미터 이름과 외부 파라미터 이름 둘 다 지정
  • self 프로퍼티는 인스턴스 메소드 내에서 현재 인스턴스를 참조하는데 사용
  • 값 타입의 프로퍼티를 바꾸기 위해서는 인스턴스 메소드를 선언할 때, mutating 키워드를 사용
  • 타입 메소드는 타입 자체에서 호출하는 메소드
  • 타입 메소드를 선언할 때, 클래스는 class 키워드를 구조체와 열거형은 static 키워드를 사용

&

너무 늦어버린 후기… 발표자료는 정리해서 업데이트 할게요!