Swift 기초문법 - 12. 객체 생성자, 해제자

정성윤·2023년 7월 10일
0

Swift 이론

목록 보기
14/64

Swift에서 객체 생성자와 해제자는 클래스의 인스턴스를 초기화하고 메모리를 할당 및 해제하는 역할을 수행하는 특수한 메소드입니다.

  1. 객체 생성자(Initializer) :
  • 객체 생성자는 클래스의 인스턴스를 초기화하는 역할을 합니다.
  • 'init' 키워드를 사용하여 정의하며, 클래스 내부에 선언합니다.
  • 객체 생성자는 클래스의 속성을 초기화하거나 다른 초기화 작업을 수행할 수 있습니다.
  • 객체 생성 시 호출되며, 생성자의 매개변수를 통해 초기값을 전달할 수 있습니다.
    *반환값은 존재하지 않습니다.
class Person {
    var name: String
    
    init(name: String) {
        self.name = name
    } }
    let person = Person(name: "John")
    print(person.name) // "John"

*코드 하단은 메모리를 프린트하는 방법

  1. 객체 해제자(Deinitializer) :
  • 객체 해제자는 클래스의 인스턴스가 메모리에서 해제될 때 호출되는 메소드입니다.
  • 'deinit' 키워드를 사용하여 정의하며, 클래스 내부에 선언합니다.
  • 객체 해제자는 메모리 해제 직전에 필요한 정리 작업을 수행할 수 있습니다.
  • 객체 해제자는 클래스에 한 개만 정의할 수 있으며, 자동으로 호출되므로 직접 호출할 필요가 없습니다.
class Person {
    var name: String
    
    init(name: String) {
        self.name = name
    }
    
    deinit {
        print("Person instance is being deallocated")
    }}
    var person: Person? = Person(name: "John")
    person = nil 

profile
이유있는 스위프트 개발자

0개의 댓글