상세 컨텐츠

본문 제목

[Objective-C] 모든 클래스의 뿌리 NSObject 클래스

헉!!/Objective C

by 권태성 2012. 1. 8. 21:51

본문


NSObject 클래스
─────────────
인스턴스를 생성할 때는 alloc 메소드를 이용한다고 설명했습니다. 그런데, NSDate의 클래스 레퍼런스를 찾아봐도 alloc 메소드에 대한 설명은 보이지 않습니다. 객체지향 언어에서는 어떤 클래스의 자원을 바탕으로 또 다른 클래스를 작성하는 상속이 많이 이용됩니다. alloc 메소드는 NSDate 클래스가 상속하고 있는 NSObject 클래스에 있는 메소드 입니다. 이 때 바탕이 되는 클래스를 슈퍼클래스(superclass), 그것을 상속하는 클래스를 서브클래스(subclass)라고 합니다. NSDate 클래스는 NSObject 클래스의 서브클래스 입니다. 

NSDate -(상속)-> NSObject

이 NSObject 클래스는 Cocoa 환경에서 모든 클래스의 기초가 되는 클래스입니다. 이것을 루트클래스(rootclass)라고 부릅니다. 모든 클래스는 반드시 NSObject 클래스(혹은 NSObject를 뿌리로 하는 클래스)를 상속합니다. 

NSDate 클래스의 레퍼런스를 잠깐 보겠습니다. 

NSDate Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/Foundation.framework
Availability
Available in iOS 2.0 and later.
Declared in
NSDate.h
Companion guides
Related sample code
 위에서 보시면 NSDate 클래스가 NSObject 클래스를 상속한다는 것을 보여주고 있습니다. (Inherits from) NSObject 부분을 클릭해서 NSObject 클래스의 매뉴얼을 표시해 보면 alloc 메소드가 있는 것을 확인할 수 있습니다.
서브클래스는 슈퍼클래스의 메소드를 이용할 수 있습니다. 그렇기 때문에 NSDate 클래스에서는 NSObject 클래스의 alloc 메소드를 사용해 인스턴스를 생성할 수 있는 것입니다.



 



   

관련글 더보기