Optional Binding - optional 이란?

"옵셔널 바인딩"과 "강제추출"을 설명하기에 앞서 Optional은?

옵셔널(Optional)은 nil을 사용할 수 있는 타입, 사용할 수 없는 타입으로 구분하기 위함 -> Swift 언어의 안전성을 나타낸다.

nil 값을 가질 수 있으면 옵셔널타입(optional Type)이며 선언할 때엔 ?를 붙인다.

nil -> "값이 없음"의 뜻이나 프로그램의 안전성을 위해 오류를 내는 대신 nil값을 반환하는것!

💡 Non-Optional Type

 var abc = "abc"
 var str : String
 str = "efg"

어떠한 변수가 값을 가지고 있을 때 Non-Optional Type 라고함
즉 값이 있어야하는 전제가 있어야한다 그렇기 때문에
Non-Optional Type은 값을 가지고 있지 않으면 에러가 난다.
즉 nil은 Non-Optional Type에 쓸 수가 없다!

💡Optional Type

var abc: String?
abc = nil

어떠한 변수가 값을 가지고 있지 않아도 자료형 뒤에 ? 를 가지고 있으면 Optional Type 이다.

즉 값이 없어도 변수 선언이 가능하기 때문에
nil 값을 넣을 수 있다!

즉 Swift에서는 nil(값 없음)을 사용하기 위해서 Optional 를 사용해야한다!
그리고 Optional로 선언된 변수들은 Optional로 한번 포장되어서 출력!

var a: Int? = 3
print(a) 
>>> Optional(3)

만약 본인이 a라는 변수를 만들고 nil이 들어갈 수도 있지만 당장 3이라는 값만을 출력해주고 싶을 경우에
이렇기 때문에 Optioanl Unwrapping 을 해줘야한다!

다음편엔 강제추출과 옵셔널바인딩을 포스팅 할 계획!

좋은 웹페이지 즐겨찾기