#import <Foundation/Foundation.h>
@interface TestClass : NSObject
{
int a,b,c;
}
- (void) method1; // 인자값이 없을 경우
- (void) method2:(int)_a; // 인자값이 1개인경우;
- (void) method3:(int)_a bb:(int)_b; //2번째 인자값부터는 구분할수 있는 이름을 넣어줘야 한다. bb:
- (void) method4:(int)_a bb:(int)_b cc:(int)_c; // 인자값이 3개인경우
- (int) method5:(int)_a bb:(int)_b cc:(int)_c; // 리턴문이 있는 경우
@end
@implementation TestClass
- (void) method1{
printf("메소드 1번 입니다.\n");
}
- (void) method2:(int)_a{
printf("메소드 2번 입니다. : _a = %d\n", _a);
}
- (void) method3:(int)_a bb:(int)_b {
printf("메소드 3번 입니다 : _a = %d , _b = %d\n", _a, _b);
}
- (void) method4:(int)_a bb:(int)_b cc:(int)_c {
printf("메소드 4번입니다. : _a = %d , _b = %d, _c = %d\n", _a,_b,_c);
}
- (int) method5: (int)_a bb:(int)_b cc:(int)_c {
return (_a + _b + _c);
}
@end
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
TestClass *test = [TestClass new];
[test method1]; // 해당객체에게 메세지를 전달
[test method2:10]; // 해당객체에게 메세지뿐만 아니라 인자도 전달
[test method3:10 bb:20]; // 인자값 2개전달
[test method4:10 bb:20 cc:30];// 인자값 3개전달해줌
int result = [test method5:10 bb:20 cc:30]; // 리턴값 전달해줌
printf("result = %d\n", result);
//[test method4:10 cc:30 bb:20];// 순서가 바뀌어도 에러가 발생
//[test method4:10 bb:20]; // 인자가 부족해도 애러가 발생
[pool drain];
return 0;
}
'아이폰개발2 > Objective-C' 카테고리의 다른 글
객체지향 상속 (1) | 2011.08.08 |
---|---|
[object-c 객체생성 init] 객체생성 기본원리 init (0) | 2011.08.06 |
interface 와 implement의 분리 (0) | 2011.07.25 |
Objective-C 기초 요약(도전!아이폰4 프로그래밍교재 참고) (1) | 2011.06.19 |