본문으로 바로가기

Swift 옵셔널 타입(Optional Type)

category Coding/Swift 2018. 1. 1. 21:51
반응형

스위프트에는 다른 언어에서는 볼 수 없는 옵셔널 타입(Optional Type)이란 것이 있다.

변수에 아무런 타입의 값이 할당되지 않았을 때를 대비한 타입이다.

방법은 변수 선언 끝에 ? 를 붙이는 것이다.

예를 들어


var test:String?


이라는 변수를 선언했다고 가정하면

test변수는 String 타입을 가지거나 비어있는 값이 올 수 있다.

값이 비어있다면 nil로 들어가는데 nil은 타 언어의 NULL이라고 생각하면 된다.

(엄밀히 따져보면 다르다고 한다. 일단 비슷한 느낌으로 이해하자)

이렇게 변수가 옵셔널 타입이라면 그 변수는 래핑되었다고 말한다.


옵셔널 타입의 변수에서 값을 꺼내 쓸때는 !를 붙여야 한다.


var test:String?

test = "테스트"

print(test!)


와 같은 형태로 사용할 수 있다.


또한 암묵적인 언래핑이 되도록 선언할 수 있다.

암묵적인 언래핑으로 선언했을 때는 그 전과 다르게 굳이 !를 써서 값을 뽑아내지 않아도 된다.

하지만 변수 선언 시 ?가 아닌 !로 선언해야 한다.


var test:String!

test = "테스트"

print(test)

반응형