Programming/Mac & iOS

[iOS] NULL, nil, Nil, NSNull

MB Brad KWON 2016. 4. 21. 11:24



    iOS에서는 null을 표현하는 4가지의 방법이 존재한다. 필자도 NSNull과 nil만 구분하면서 써왔지만 이외에도 NULL과 Nil라는 2가지가 더 있다는 사실을 근래에 알았다. 차이는 위의 표와 같다. NSNull은 객체가 삽입되어야만 하는 상황에서 null을 표현하는 방식으로 collection 객체에서 null을 표현할 때, 사용하면 좋다. nil은 iOS 개발자들이 평소에 자주 애용하듯이 객체의 부재를 나타내는 null을 표현하는데 사용한다. 그러면 유의깊게 보지 않았다면 몰랐을 NULL과 Nil은 무엇인가


    NULL은 C 포인터의 reference value의 null을 표시한다. Nil은 Objective-C에서 클래스의 부재를 나타내는 null을 표시한다. 이를 유의해서 사용하면 보다 정교하고 의미가 명확한 프로그래밍이 가능하므로 실 사용에서 숙지하는 것이 좋을 것 같다.