안녕하세요~ 차니에요!
오늘은 옵셔널(Optional)에 대해 알아볼거에요.
관련 내용이 많아서 시리즈로 작성하도록 하겠습니다!
1. 옵셔널이란 무엇인가?
Optional은 nil을 사용할 수 있는 타입인지 아닌지를 구분하기 위해 사용합니다
- nil을 사용할 수 있는 type을 Optional Type
- 반대로 nil을사용할 수 없는 type을 Non-Optional Type이라고 지칭합니다.
글만 보면 잘 와닿지 않을테니 간단한 예제를 통해 알아보도록 하겠습니다.
2. Non-Optional Type, Optional Type
첫 번째로 Non-Optional Type 입니다.
nil은 Optional Type에서만 사용 가능하다고 했죠?
예제를 보면 일반 String에 nil을 대입하려고하니 에러가 나는 모습입니다.
두 번째로 Optional Type 입니다.
옵셔널 타입은 위와 같이 자료형 뒤에 ?를 붙혀주면 됩니다.
이제 season 변수에는 nil 값을 저장 할수 있게됩니다.
3. Non-Optional Type vs Optional Type
nil의 사용 유무에 따라 나눠진다는건 알겠고, 그렇다면 둘은 어떤 차이가 있을까?
처음 형태는 일반적인 String Type이고 두 번째는 Optional String Type입니다.
근본적으로 자료형(Type)이 다릅니다.
Swift에서 String Type과 Optional String Type은 다른 자료형(Type)입니다.
Optional은 자료형을 감싸고 있는 포장지 정도로 생각을 하시면 되는데 이 포장지에서 값을 꺼내오는 과정을 Optional Unwrapping이라고 합니다.
그렇다면 다음 시간에는 Optional Type 변수에서 값을 어떻게 언래핑하는지 알아보도록 할게요!!