이전시간에 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 언어에서 사용했었던 함수와 비슷하게 작성되는것입니다.

다음 시간에는 생성된 클래스를 프로그램에 적용하는 방법을 설명하도록 하겠습니다.