글 수 7
2011.04.25 11:00:07 (*.36.150.248)
13582
이전시간에 Hello 라는 클래스의 선언을 했습니다.
선언 부분을 다시 입력해 놓도록 하겠습니다.
#import <Foundation/Foundation.h>
@interface Hello : NSObject{
}
-(void)print;
-(void)printNSLog;
@end
위 내용은 이전 시간에 진행한 Hello 클래스의 선언 부분입니다.
위 파일을 Hello.h 파일로 저장을 하시면 됩니다.
다음에 작성될 부분이 위 선언된 클래스의 구현 부분을 작성할 것이며, 해당 파일은 Hello.m 파일로 저장하도록 하겠습니다.
#import "Hello.h"
@implementation Hello
-(void)print{
printf("Hello World~!\n");
}
-(void)printNSLog{
NSLog(@"Hello World~!!!!");
}
@end
하나씩 살펴보도록 하겠습니다.
C언어를 해보신 분들은 아시는 부분일 것입니다.
#import 이후에 "" 큰따옴표 사이에 클래스 선언을 한 파일인 Hello.h 파일을 import 시켰습니다.
이후에 선언 부분과 비슷하게 구현부도 @ 으로 시작합니다.
공식은 아래와 같습니다.
@implementation ClassName
그냥 위와 같이 입력만 해주시면 됩니다.
주의하셔야 할 사항은 위와 같이 입력이후에 ; 세미콜론을 입력하지 않습니다. 헷갈리지 마시기 바랍니다. 입력하지 않습니다.
그다음에 선언부에서 선언한 인스턴스 메소드를 구현을 해줍니다.
첫번째 인스턴스 메소드
-(void)print;
를 위와 같이 선언을 했었고, 위의 것을 아래와 같이 구현하였습니다.
-(void)print{
printf("Hello World~!\n");
}
C 언어를 해보신 분은 아시는 내용일 것입니다.
printf() 함수를 이용해서 Hello World~!를 출력하도록 구현해 놓았습니다.
Objective C는 C 언어의 확장이므로 C 언어의 대부분의 것을 그대로 사용할수 있습니다.
두번째 인스턴 메소드
-(void)printNSLog;
를 아래와 같이 구현하였습니다.
-(void)printNSLog{
NSLog(@"Hello World~!!!");
}
위 클래스는 printf 함수로 출력되는것과 NSLog로 출력될때의 차이를 설명하기위한 클래스 입니다.
비교하시고 출력될때도 어떠한 차이가 있는지 알수이겠됩니다.
그럼 여기서 인스턴스 메소드의 공식을 알아보도록 하겠습니다.
-(returnType)instanceClassNaem
{
program......;
}
와 같은 공식을 사용합니다.
program 부분은 구현하고자 하는 동작을 입력하게 됩니다.
이 부분은 C 언어에서 사용했었던 함수와 비슷하게 작성되는것입니다.
다음 시간에는 생성된 클래스를 프로그램에 적용하는 방법을 설명하도록 하겠습니다.