옵셔널 Optional

정승호·2022년 5월 27일
0
post-thumbnail

옵셔널 ?

  • 값이 있을 수도 없을 수도(nil)를 나타내는 표현입니다.
  • 어떤 값을 가지고 있거나 값이 없는 nil을 가지고 있습니다.

값이 있다.. 값이 없다...?

문자열의 값이 있을 때는 "Donkey" 가 됩니다.
문자열의 값이 없을 때는 "" 이 될까요?

아닙니다, "" 도 값이 있는 문자열입니다. '값이 없는'게 아닌, '빈 값' 입니다.

그렇다면 값이 없는 문자열은 뭘까요?
nil 입니다.

다른 예로,
정수형의 값이 있으면? 123이 됩니다.
정수형의 값이 없다면? 0 이 아닌 nil 입니다. 0은 0이라는 숫자 '값' 이기 때문입니다.

옵셔널 Optional

  • 값이 있을 수도 없을 수도 있는 변수를 정의할 때에는 타입 어노테이션에 ?를 붙여야 합니다.
    이렇게 정의한 변수를 옵셔널 이라고 합니다.

옵셔널에 초기값을 지정하지 않으면 기본값은 nil 입니다.

위와 같은 코드는 사용불가능 합니다.

let ddd: string?
값이 없으니까 nil 입니다.

let aaa: string = ddd
에러 발생 했습니다.
ddd는 값이없습니다.
string은 "문자열" 만 가능합니다.
값이 없는 nil은 string이 아닙니다.

참고 자료
https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/content/Chapter-2/optionals.html

0개의 댓글