상세 컨텐츠

본문 제목

[Objective-C] Objective-C의 헤더파일

헉!!/Objective C

by 권태성 2012. 1. 7. 20:01

본문




헤더파일의 저장소
───────────────
#import <Foundation/Foundation.h>

이것은 Foundation 프레임워크의 'Foundation.h'라는 헤더파일을 읽어 들이는 프리프로세서 지시문인데, 프레임워크와 헤더파일은 어디에 있는걸까요? 우선 프레임워크의 경우 Mac OS X에서는 시동 디스크의 [시스템] - [라이브러리] - [Frameworks] 폴더 아래에 프레임워크별 폴더로 나뉘어 저장되어 있습니다. Foundation 프레임워크의 경우는 [Foundation.framework] 폴더에 프레임워크 본체와 헤더 파일이 저장되어 있습니다.

Foundation 프레임워크의 헤더파일은 [Foundation.framework] 폴더의 [Headers] - 'Foundation.h'가 됩니다. 헤더 파일은 일반적인 텍스트 파일입니다. 더블클릭하면 초기상태에서는 Xcode가 열립니다.

Foundation.h의 내용을 열어보면 #import 문을 사용해 다양한 헤더 파일들을 임포트 하고 있는것을 확인할 수 있습니다. 이렇듯 Foundation 프레임워크는 다양한 클래스의 집합체입니다.

Foundation.h 의 내부
/* Foundation.h
Copyright(c) 1994-2009, Apple Inc. All rights reserved.
*/

#include <CoreFoundation/CoreFoundation.h>

#import <Foundation/NSObjCRuntime.h>

#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSBundle.h>
#import <Foudantion/NSByteOrder.h>
....

Cocoa 프레임워크의 헤더
또 다른 예로, Cocoa 프레임워크(Cocoa.Framework)의 헤더파일 Cocoa.h를 살펴 보겠습니다.

Cocoa.h 의 내부
/*
Cocoa.h
Cocoa Framework
Copyright (c) 2000-2004, Apple Computer, Inc.
All rights reserved.

This file should be included by alll Cocoa application source files for easy building. Using this file is preferred over importing individual files because it will use a precompiled version.

Tools with no UI and no AppKit dependencies may prefer to include just <Foundation/Foundation.h>.
*/

#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#import <CoreData/CoreData.h>

Cocoa 프레임워크는 Foundation, AppKit, CoreData라는 3개의 프레임워크로 구성된다고 앞에서 설명했습니다. 그 헤더 파일인 Cocoa.h에서는 그 3개의 프레임워크의 헤더 파일을 #import 문으로 읽어오고 있음을 알 수 있습니다.





   

관련글 더보기