Computer/프로그래밍

Objective-C: 클래스 선언 및 구현 - First Step

alias 2009. 5. 17. 22:50
반응형
Objective-C에서는 "interface"는 어떤 클래스의 특성들에 대한 기술을 의미한다. 그리고 "implementation"은 interface가 동작하도록 하게 하는 코드를 의미한다.

Interface의 선언은 "@interface" 키워드를 통해서 선언하고 "@end" 키워드로 종료한다. @interface 키워드 다음에 { } 사이에 데이터를 선언하고 - 다음에 메소드를 선언한다.

예를 들어 Rectangle을 선언해 보자

@interface Rectangle : NSObject
{
int horizontal;
int vertical;
int area;
}
-(void) setHorizontal: (int) x;
-(void) setVertical: (int) x;
-(void) calArea;
-(void) showArea;
@end

이 인터페이스에 대한 구현은 @implementation 와 @end 키워드 사이에서 구현 코드가 들어간다.

@implementation Rectangle
-(void) setHorizontal: (int) x
{
horizontal=x;
}
-(void) setVertical: (int) x
{
vertical=x;
}
-(void) calArea
{
area=horizontal*vertical;
}
-(void) showArea
{
NSLog(@"vertical:%d, horizontal:%d, area:%d",vertical,horizontal,area);
}
@end

main함수에서는 

id rectangle_obj;
//id는 Object를 가르키기 위한 generic type 이다.
rectangle_obj=[Rectangle new];

로 객체를 생성한다. [ ] 안에서 객체에게 전달할 매시지를 정의한다. 즉 [객체 전달메시지] 형색을 통해서 객체에게 사용하고자 하는 메소드 정보를 전달하게 된다.

객체를 선언하고 각 메소드는 다음과 같이 사용이 가능하다.

[rectangle_obj setHorizontal:10];
[rectangle_obj setVertical:20];
[rectangle_obj calArea];
[rectangle_obj showArea];

결과는 다음과 같다




반응형