안녕하십니까.
가입한지 몇시간 안된 초보회원입니다.
본인은 Programming 언어를 공부하기 시작한지 불과 3~4개월 정도된 초보중의 완전 초보입니다.
물론 그전에도 Java나 C 언어 등의 책은 두세권 정도 사서 보곤했으나, Hello World 이후 내용은 거의 이해를 못하고 있다가 갑자기 4개월 전부터 조금씩 이해가 되기 시작해서, Programming을 다시 공부하게되었습니다.
체계적으로 배운것이 아닌 책으로 공부하였고, C언어 보다가 Objective C 보다가(지금도 여전히 그러고 있습니다.) 하고 있는 초보이다 보니, 근본도 없고 족보도 없어서 중구 난방으로 기록이 될수 있습니다.
혹여 잘못된 부분이 있다면, 능력자 분들의 댓글로 알려주신다면, 고쳐나가도록 하겠습니다.
이 곳에 글을 쓰는 이유는
첫번째, 저와 같은 초보가 초보자의 입장에서 이해한것을 기록하여서 조금더 쉽게 다가갈수 있지 않을까 하는 기대와
둘째로, 본인이 공부한것을 한번더 정리하고자 함이며,
셋째로, 본인이 틀린부분을 능력자 분들의 댓글등의 도움을 받고자 합니다.
서론이 길군요.
1. 역사
글이 길어질수 있으므로 역사는 기본적인것만 기록하고 자세한 것은 따로 찾아보아 주시기 바랍니다.
Objective C 언어는 아시다시피, 1970년에 AT&T의 Bell연구소에서 데니스 리치라는 사람이 개발한 C 언어를 확장하여 객체를 생성하고 다룰 수 있는 객체 지향적 언어 구조로 1980년대초에 브래드 콕스(Brad j. Cox)라는 사람에 의해 설계가 되었습니다.
이후에 NeXT 에서 1988년에 Objective C 의 라이센스를 받아 NeXTSTEP 개발환경과 라이브러리를 개발하게 되고, 이후에 1996년 Apple에서 Mac OS X를 해당 NeXTSTEP 기반으로 개발을 하게됩니다.
현재는 NeXTSTEP 이 아닌 OPENSTEP으로 바뀌었습니다.
본문의 내용은 2007년 애플에서 개정된 Objective C 2.0 기반으로 설명합니다.
2. Hello World!
모든 프로그래밍의 처음 부분은 Command Line 에 Hello World! 라는 단어를 출력하는것으로 시작합니다.
본문은 적어도 C 언어에서 변수 선언과 포인터, 반복문, 조건문 그리고 함수 사용정도는 할 수 있다는 전제로 작성되었습니다.
(이유는 본인이 저정도만 알고 있거든요~! ㅡ.ㅡ;;;;)
컴파일을 위한것은 Mac OS X 기반으로 설명을 하며, Xcode 가 설치되어 있다고 전제하고 기록합니다.
첫번째 프로그램을 작성하도록 하겠습니다.
#import <Foundation/Foundation.h>
int main(int argc, char argv){
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];
return 0;
}
Objective C 언어로 작성된 파일은 .m 으로 저장됩니다.