Optional 이란 개념은 왜 생겼을까?
예를 들어보자.
var name: String = "dew"
var dogName:String = "mung"
var carName:String = ??
내 이름은 dew 이고, 우리집 멍멍이 이름은 뭉이다. 그리고 나는 뚜벅이이다. 그러면 난 차가 없는데 carName은 어떻게 표현해야하지?? 이렇게 존재하지 않는다는 것을 표현하기 위해서는 'nil'이라는 개념을 이용하여 표현한다. 즉 내 carName == nil 이라는 것이다 (nil은 구글 번역기를 돌려보면 없을 '무'라는 의미있다).
Swift는 이처럼 존재 자체가 없는 값을 표현하기 위해서 nil이란 개념을 두었고, nil이란 값을 가질 수 있는 변수 타입을 optional이라고 한다.
즉 Optional이란 존재 자체가 없어서 값이 nil이 될 수도 있는 타입을 표현하기 위한 개념인 것이다!
Optional 선언
var carName: String?
carName = nil
carName = "Avante"
Optional은 값이 있을 수도, 없을 수도 있다는 것을 표현하기 위한 개념이라고 했다. 이처럼 존재 유무를 모른다는 기호 '?'를 타입 선언 뒤에 붙여주면 optional 타입이 된다. 이처럼 optional으로 선언된 값만 nil 값을 가질 수 있다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'iOS > iOS 앱 개발 올인원 패키지 Online' 카테고리의 다른 글
[iOS] 패스트캠퍼스 - Class (0) | 2021.09.16 |
---|---|
[iOS] 패스트캠퍼스 챌린지 11일차 - Optional(2) (0) | 2021.09.16 |
[iOS] 패스트캠퍼스 챌린지 9일차 - Function(2) (0) | 2021.09.14 |
[iOS] 패스트캠퍼스 챌린지 8일차 - Function(1) (0) | 2021.09.13 |
[iOS] 패스트캠퍼스 챌린지 7일차 - Flow Control(2). Switch (0) | 2021.09.12 |
Optional 이란 개념은 왜 생겼을까?
예를 들어보자.
var name: String = "dew"
var dogName:String = "mung"
var carName:String = ??
내 이름은 dew 이고, 우리집 멍멍이 이름은 뭉이다. 그리고 나는 뚜벅이이다. 그러면 난 차가 없는데 carName은 어떻게 표현해야하지?? 이렇게 존재하지 않는다는 것을 표현하기 위해서는 'nil'이라는 개념을 이용하여 표현한다. 즉 내 carName == nil 이라는 것이다 (nil은 구글 번역기를 돌려보면 없을 '무'라는 의미있다).
Swift는 이처럼 존재 자체가 없는 값을 표현하기 위해서 nil이란 개념을 두었고, nil이란 값을 가질 수 있는 변수 타입을 optional이라고 한다.
즉 Optional이란 존재 자체가 없어서 값이 nil이 될 수도 있는 타입을 표현하기 위한 개념인 것이다!
Optional 선언
var carName: String?
carName = nil
carName = "Avante"
Optional은 값이 있을 수도, 없을 수도 있다는 것을 표현하기 위한 개념이라고 했다. 이처럼 존재 유무를 모른다는 기호 '?'를 타입 선언 뒤에 붙여주면 optional 타입이 된다. 이처럼 optional으로 선언된 값만 nil 값을 가질 수 있다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'iOS > iOS 앱 개발 올인원 패키지 Online' 카테고리의 다른 글
[iOS] 패스트캠퍼스 - Class (0) | 2021.09.16 |
---|---|
[iOS] 패스트캠퍼스 챌린지 11일차 - Optional(2) (0) | 2021.09.16 |
[iOS] 패스트캠퍼스 챌린지 9일차 - Function(2) (0) | 2021.09.14 |
[iOS] 패스트캠퍼스 챌린지 8일차 - Function(1) (0) | 2021.09.13 |
[iOS] 패스트캠퍼스 챌린지 7일차 - Flow Control(2). Switch (0) | 2021.09.12 |