2. Hello World 분석하기
Wednesday, January 23, 2013
8:18 PM
안녕하세요,
이번 강좌에서는 저번시간에 만든
Hello World라는 프로그램을 분석해보도록 하겠습니다.
이미 C나 C++를 해보신 분들께선
저번시간에 만든 코드가 굉장히 익숙하고
부분부분만 다르고 비슷하다고 생각될텐데요,
아무래도 C에서 파생된 언어다보니 그런가 싶습니다.
<Hello World 소스 코드>
참고로, 가끔 자동으로 프로젝트를 생성시
Hello World 프로그램 위에
파일명이나 유저이름 등등
간단한 설명이 되있는데요,
저처럼 다 지우셔도 됩니다.
일단 첫줄부터 차근차근 알아가 보도록 하겠습니다.
#import <Foundation/Foundation.h>
첫줄의 코드입니다.
이 코드가 의미하는것은 지금 우리가 쓰고 있는 프로그램에
무언가를 import(수입, 받아들이다, 추가하다, etc)하는건데요
C나 C++에선 #include를 사용했지만
여기서는 import를 사용한답니다.
그럼 무엇을 추가하는 걸까요?
그건 Foundation.h 이라는 라이브러리 파일을 추가하는것인데요,
프로그램을 돌리기 위한 기초적 코드와
수많은 유용하고 필요한 코드를 묶어놓은 패키지 상품 같은겁니다.
유저가 매번 필요할때 마다 쓰면 귀찮고 효율성이 떨어지니
그냥 통째로 다 들여오는 겁니다.
자 다음에 보이는건 main 함수입니다.
int main
함수? 함수는 무엇일까요?
함수는 나중에 더 자세히 알아보도록 하겠지만
간단히 말하면 특정 일을 수행하는 코드입니다.
예를 들어 clean 함수를 만들면 무언가 청소를 하는 함수이겠고
attack_enemy 함수는 적을 공격하는 함수가 되겠죠.
이렇게 이름이 명확하게 해주는게 나중에 보기도 편합니다.
그럼 main 함수는 무엇을까요?
Main의 뜻을 잠시 살펴보면 '핵심'이나 '주된' 와 같은 뜻들이 있습니다.
왜 우리가 예능프로 볼때면 메인 엠씨(main MC) 라고 하지요?
프로그램에도 모든 것의 중심인 main 함수가 있는 것이겠죠~
컴퓨터가 프로그램을 읽을 때에도 main이 존재하는지 꼭 체크 할 만큼
중요한 부분이기도 합니다.
근데 main옆에 괄호가 있고 알 수 없는 말들이 있습니다,
이거는 Parameter(매개 변수) 인데요, 이거 역시 지금은 넘어가고
함수를 다루는 강좌에서 알아보도록 하겠습니다.
@autoreleasepool
자, 어떤분들은 NSAutoreleasePool *pool ~… 이런 형태의 코드로 되있고
다다음줄에 [pool drain];이 되있을수도 있는데요,
이건 ARC라는 기능의 유무이 차이이며
둘다 메모리 관리를 위해 존재하는 코드입니다.
NSLog(@"Hello, World!");
이 코드는 출력코드입니다.
Hello, World! 라는 문구를 출력하는것이지요.
앞에 골뱅이(@)는 그냥 NSLog를 사용하는 방법이기때문에
사용하는 것이지 특별히 의미하는건 없는거 같습니다.
Hello World 소스코드를 빌드(커맨드+r) 하셔서 실행하시면
Xcode 콘솔 창에 Hello, World! 라고 출력되는걸 보실 수 있습니다
return 0;
마지막 줄은 리턴(return)입니다.
무언가 되돌려주다~ 라는 뜻으로 보편적으로 쓰이는데요,
(환불한다는 뜻도 있죠..ㅎㅎ)
마치 유희왕 만화처럼
return으로 턴을 마치고 종료하겠다!! 라는거랑 비슷한겁니다.
리턴에 대해서는 함수를 배울때 return type 에서 더 자세히 이야기해보도록
하겠습니다.
다음 강좌는 변수로 만나보겠습니다.
감사합니다.
Microsoft OneNote 2010을(를) 사용하여 작성했습니다.
모든 노트 및 정보를 한 곳에서 볼 수 있습니다.
'공학 > Objective-C' 카테고리의 다른 글
1. Objective-C 준비하기 (0) | 2013.02.27 |
---|