본문 바로가기

iOS (스파르타)/Swift 문법

기초 문법 - 초기화

초기화와 생성자

  • 초기화는 클래스, 구조체, 또는 열거형의 인스턴스를 생성하고 속성을 초기화하여 사용할 수 있도록 하는 과정을 의미합니다. Swift에서 초기화는 객체가 메모리에 할당되고 속성이 적절히 설정되어 안정적으로 사용될 수 있도록 하는 중요한 단계이다.
    • 인스턴스란?
      • 객체 지향 프로그래밍에서, 인스턴스(Instance)는 클래스, 구조체 또는 열거형과 같은 타입의 실제 예시를 나타냅니다. 클래스나 구조체 등의 템플릿(틀)을 기반으로 생성된 실제 데이터를 가리킵니다. 즉, 클래스나 구조체를 기반으로 만들어진 객체를 인스턴스라고 합니다.
  • 초기화 방법

1. 기본 초기화(Default Initialization): Swift에서는 클래스의 속성이 기본 값으로 초기화되는 것을 지원한다. 이는 클래스의 모든 속성이 기본 값을 가지고 있을 때 자동으로 발생한다.

 

2. 지정 초기화(Designated Initialization): init 키워드를 사용하여 클래스의 모든 속성을 초기화하는 메서드

 

3. 편의 초기화(Convenience Initialization): 기본 초기화 또는 지정 초기화를 간편하게 호출하는 보조 메서드

 

4. 강제 해제(Force Unwrapping)되지 않는 옵셔널 초기화: 옵셔널 타입을 가진 속성은 선언과 동시에 초기화되거나 나중에 값을 할당할 수 있다.

 

 

실패 가능 생성자 

  • 기존 생성자는 컴파일 시점에 모든 프로퍼티가 초기화 되어야 하기 때문에 초기화 실패의 경우, 컴파일 에러가 발생
  • 하지만 실패 가능 생성자(Failable Initializer)는 초기화에 실패하더라도 에러가 발생하지 않고 nil을 리턴합니다. Optional한 생성자로 보시면 됩니다.