[swift] 옵셔널 타입의 변수에 어떻게 값을 할당하나요?
  1. 강제 언래핑(Force Unwrapping): 옵셔널 변수 끝에 “!” 기호를 사용하여 강제 언래핑을 할 수 있습니다. 이는 변수가 nil이 아니라고 가정하고 값을 가져옵니다. 하지만 변수가 nil인 상황에서 강제 언래핑을 시도하면 런타임 에러가 발생할 수 있으므로, 변수가 nil이 아님을 확실히 알고 있을 때에만 사용해야 합니다.

    var optionalValue: Int? = 10
    let unwrappedValue = optionalValue!
    
  2. 옵셔널 바인딩(Optional Binding): 옵셔널 값이 nil이 아닌 경우, 값을 할당하고 코드 블록 내에서 변수를 사용할 수 있도록 옵셔널 바인딩을 사용할 수 있습니다. 이를 통해 안전하게 옵셔널 값을 처리할 수 있습니다.

    var optionalValue: Int? = 10
    if let unwrappedValue = optionalValue {
        // 옵셔널 값이 nil이 아닌 경우
        print(unwrappedValue)
    } else {
        // 옵셔널 값이 nil인 경우
        print("값이 없음")
    }
    
  3. 옵셔널 체이닝(Optional Chaining): 옵셔널 체이닝을 사용하여 옵셔널 값이 nil이 아닌 경우에만 이후 프로퍼티나 메서드에 접근할 수 있습니다. 이를 통해 옵셔널 값이 nil인 경우에도 코드가 정상적으로 실행될 수 있습니다.

    var optionalValue: Int? = 10
    let result = optionalValue?.advanced(by: 5)
    

옵셔널 타입의 변수에 값을 할당하는 방법은 위와 같이 다양하게 활용할 수 있습니다. 상황에 맞게 적절한 방식을 선택하여 옵셔널 값의 안전한 처리를 보장할 수 있도록 해야 합니다.

참고 자료: