Initializer Delegation 이란?

AsherKim·2023년 11월 24일

[Swift] 문법 정리

목록 보기
2/3

Initializer Delegation 이란 무엇인가?

  • Initializer Delegation은 Swift에서 이니셜라이저 간에 작업을 전달하거나 공유할 수 있는 개념이다. 한 이니셜라이저가 다른 이니셜라이저를 호출하여 초기화 작업을 일부분을 위임하는 것을 의미한다. 이는 코드의 재사용성을 높이고, 초기화 과정을 단순화하는 데 도움이 된다.
class Desk {
    var legs: Int

    init(legs: Int) {
        self.legs = legs
    }
}

class ComputerDesk: Desk {
    var color: String

    init(legs: Int, color: String) {
        // 부모 클래스의 이니셜라이저 호출 (Initializer Delegation)
        super.init(legs: legs)

        // 자식 클래스의 추가적인 초기화 작업
        self.color = color
    }
}

let myComputerDesk = ComputerDesk(legs: 4, color: "검정")
print("내 컴퓨터 책상은 \\(myComputerDesk.legs) 개의 다리를 갖고있고 \\(myComputerDesk.color)색이다.")
profile
떠오르는 개발자

0개의 댓글