아래 내용은 애플 공식문서의 내용 중 Root classs 을 번역한 내용입니다.
번역에 일부는 주관적인 해석이 들어가 있어 해석, 원문 순으로 언급하고 있습니다.
Root class
는 다른 클래스로 부터 상속을 받지 않습니다. 아래 그림에 있는 계층 내 모든 객체들에게 공통되는 인터페이스와 행동 을 정의합니다. 계층 내 모든 객체들은 궁극적으로 Root class
로 부터 상속 받습니다. Root class
는 Base class
로 불리기도 합니다.
모든 Object-C class
의 Root class 는 NSObject 입니다.
Cocoa 혹은 Cocoa Touch 앱에 사용되는 모든 객체들 역시 궁극적으로는 NSObject로 부터 상속 받습니다. NSObject
는 Object-C runtime
과 다른 클래스의 상호작용의 제 1 엑세스 포인트 입니다.
This class is the primary access point whereby other classes interact with the Objective-C runtime.
NSObject
는 기초가 되는 객체 인터페이스를 선언하고 introspection
, memory management
, method invocation
를 포함하는 객체의 행동을 구현합니다.
It also declares the fundamental object interface and implements basic object behavior, including introspection, memory management, and method invocation.
Cocoa
와 Cocoa Touch
객체들은 Root class
로 부터 객체로 행동할 수 있는 능력을 얻습니다.
Cocoa and Cocoa Touch objects derive the ability to behave as objects in large part from the root class.
Note: NSObject 말고도 NSProxy 라는
Root class
도 있습니다.Cocoa
프로젝트에서도 드물게 사용되며Cocoa Touch
프로젝트에서는 사용되지 않습니다.
NSObject
는 프로토콜을 채택하는데 포로토콜의 이름도 NSObject
입니다. 이 프로토콜은 NSObject
의 인터페이스를 지원하고 Root Class
에게 요구되는 기본 인터페이스를 의미합니다.