[swift] 옵셔널 체이닝과 강제 언래핑

옵셔널은 Swift 언어에서 매우 중요한 개념 중 하나입니다. 어떤 값이 ‘nil’이 될 수 있는지를 표현하는 방법이며, 앱 개발에서 매우 유용하게 사용됩니다. 그러나 때로는 옵셔널에서 실제 값을 가져와야 할 때가 있으며, 이 때 옵셔널 체이닝과 강제 언래핑의 사용이 필요합니다.

옵셔널 체이닝

옵셔널 체이닝은 옵셔널이 연속적으로 연결되어 있는 경우, 하나라도 ‘nil’이면 결과가 ‘nil’이 되는 것을 의미합니다.

class Person {
    var job: Job?
}

class Job {
    var title: String
}

let person = Person()
if let personJobTitle = person.job?.title {
    print("Person's job title is \(personJobTitle)")
} else {
    print("Person does not have a job")
}

위의 코드에서 person이라는 인스턴스의 job 프로퍼티를 옵셔널 체이닝으로 접근하여 title 값을 가져오고 있습니다. 이때 job이 ‘nil’이면 결과는 ‘nil’이 됩니다.

강제 언래핑

반면 강제 언래핑은 옵셔널의 값을 강제로 추출하는 방법으로, 만약 옵셔널 값이 ‘nil’이라면 런타임 에러가 발생합니다.

let jobTitle = person.job!.title

위의 코드에서는 personjob 프로퍼티가 ‘nil’이 아님이 확실한 경우에만 강제 언래핑을 사용하고 있습니다.

결론

옵셔널 체이닝과 강제 언래핑은 옵셔널 값을 다룰 때 매우 유용한 기능입니다. 옵셔널 체이닝을 통해 안전하게 옵셔널 값을 다룰 수 있고, 강제 언래핑은 값이 ‘nil’이 아님을 확신할 때 사용할 수 있습니다.

이러한 기능들을 올바르게 사용하면, Swift 언어에서 안전하고 간결한 코드를 작성할 수 있습니다.

참고 자료