본문 바로가기
Swift

[Swift] 옵셔널(Optional) [1]

by ykr0919 2024. 3. 26.

 

 

 

Swift로 작성된 코드를 보면 변수 타입 뒤에? 가 붙은 것을 종종 볼 수 있는데, 이 물음표가 붙은 변수가 바로 옵셔널(Optional) 변수

옵셔널(Optional) 변수는 값이 있을 수도, 없을 수도 있는 변수임. 

 

 

공식문서에 따르면 래핑 된 값 또는 값의 부재를 나타내는 형식이라고 함. 

 

옵셔널(Optional)은 Swift가 가지고 있는 큰 특징 중 하나임 

nil이 될 수도 있는 인스턴스는 반드시 옵셔널 타입으로 선언해야 함~!! 

 

이렇게만 들어서는 모르니깐 예제를 보면서 알아보자!!

 

var bandName: String = "The 1975"
print(bandName)

// The 1975

 

bandName이라는 이름을 가지는 String type 변수를 선언하고 출력해 보면 할당된 문자열이 잘 나옴!

 

근데 문자열을 할당하지 않았다면?? 

 

var bandName: String
print(bandName)

 

 

위와 같은 에러가 나게 되는데, 그 이유는 옵셔널(Optional)이 아닌 변수나 상수는 초기값을 할당해주지 않으면 에러가 생김!!!! 

 

옵셔널 변수를 만들어보려면!!

 

타입(Type) 뒤에 ? 를 붙여주면 됨 

var bandName: String?
print(bandName)

//nil

 

오류가 발생하지 않고 nil 이 출력됨 

 

만약 옵셔널(Optional) 변수에 값을 할당하면???? 🤔

var bandName: String? = "The 1975"
print(bandName)

// Optional("The 1975")

 

Optional( ) 안에 값이 출력됨! 

 

옵셔널(Optional) 타입은 기존 자료형을 Optional( ) 껍데기로 감싸고 있기 때문에 옵셔널(Optional) 타입의 값을 사용할 땐, 껍데기를 제거해줘야 함!!!!

 

그건 다음글에서 알아보겠음!!!!