swift 와 iOS 에 관한 모든 내용을 정리하고자 합니다.
"apple developer docummentation" 에 따르면 optional 이란, either a wrapped value or nil, the absence of a value. 라고 표현을 했다.
말인 즉슨, 변수가 nil 일수도 있다는 것이다.
그럼, nil 은 무엇일까
nil은 "없음"을 표현한다.
다른 언어의 null과 같은 표현이다.
reference : https://www.reddit.com/r/ProgrammerHumor/comments/6f68rv/difference_between_0_and_null/
nil을 이해하는데에 있어 이 그림이 적당한거 같다.
정말로 변수에 값이 없을때가 nil이다.
옵셔널 변수는 데이터 타입뒤에 물음표(?)를 붙여 표현할수 있다.
옵셔널의 값을 강제 추출하려면, 옵셔널 값 뒤에 느낌표(!)를 붙여주면 된다.
하지만 사실, 강제로 추출하게 되면 옵셔널로 만든 의미가 사라지지 않을까 싶다.
우선, 옵셔널에 값이 있는지 없는지 확인할 때 사용한다.
만약, 옵셔널에 값이 있다면, 추출한 값을 변수로 할당을 해줘서 옵셔널이 아닌 형태로 사용을 하게 된다.