본문 바로가기
공부/스위프트

[스위프트] nil과 null 차이

by 초코팅촉 2023. 12. 15.
728x90

스위프트에는 nil이 있습니다.

하지만 다른 언어에, 심지어 이전의 Objective-C에도 null이 있었습니다.(물론 obj-c에는 nil도 있었습니다.)

 

그렇다면 nil은 무엇이며 nil과 null의 차이는 무엇일까...

 

일단 기존의 obj-c에서 nil과 null들에 대해서 간단하게 살펴봅시다.

NULL C pointer의 null
nil Objective-C의 object들을 나타내는 null값
Nil Objective-C의 class들을 나타내는 null값
NSNull null을 표현하기 위한 싱글톤 오브젝트

뭐 그렇다고 합니다.

 

하지만 Swift에서는 위의 것들을 전부 없애버리고 nil만 남았다.

Swift에서 nil은 값이 존재할지 안 할지 모르는 상태의, 아예 빈값("")도 없을 수 있는 상태를 의미한다.

한마디로 null을 의미하는거나 마찬가지죠?

대신 에러를 처리하기위해서 값이 없을 수도 있는 상태이다 나는걸 알려주는 것뿐.

 

그냥 쉽게 쉽게 Swift에서는 nil이 null이구나~ 정도로만 이해해도 무방합니다.