아마 프로그램 이해방식이 자바쪽으로 많이 되어 있을 것이다. 이해바람.
참고로 전.. 윈도우에서 공부중이란...^^;;
@interface : 클래스를 선언 시켜주는 부분이다.
@implementation : 선언 되어진 변수나 메소드를 가지고 실제 코드를 작성.
자바와 비슷하지만, 두 부류로 나누어져 있다는 게 큰 특징 같다.
한번 implemetation만 선언해도 되지 않을까 했는데..
역시나 오류가 뜨는군..^^;;
@interface 클래스 이름: 부모 클래스
{
변수 선언;
}
메소드 선언;
@end
@implementaion 클래스 이름
실제 코드
@end
샘플 소스
#import <Foundation/Foundation.h>
// 클래스 형태를 잡아주는 선언 부분
@interface Fraction: NSObject
{
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
// 형태에 따라 실제 코드를 넣는다.
@implementation Fraction
-(void) print
{
NSLog (@"%i/%i", numerator , denominator);
}
-(void) setNumerator: (int) n
{
numerator = n;
}
-(void) setDenominator: (int) d
{
denominator = d;
}
@end
// 직접 클래스를 가지고 코딩하는 부분
int main(int argc , char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Fraction *myFraction;
// 클래스 초기화
myFraction = [Fraction alloc];
myFraction = [myFraction init];
// 함수에 숫자 할당
[myFraction setNumerator: 1];
[myFraction setDenominator: 3];
//출력
NSLog (@"The value of myFraction is:");
[myFraction print];
[myFraction release];
system("PAUSE");
[pool drain];
return 0;
}
클래스 초기화(메모리 할당)를 alloc으로 먼저 선언하는 이유는 인스턴스를 먼저 만들기 위해서다.
즉, 많이 사용하는 붕어빵 틀을 먼저 alloc로 만든 다음, 붕어의 팥과 밀가루 반죽을 넣는 부분이 init라고 보시면 된다.^^
참조 : 함수에는 매개변수가 2개 이상으로도 많이 쓰이는 과연 어떻게 사용할까?
바로!!!
-(void) 메소드 명 매개변수 : 매개변수 : 매개변수...
{
}
'나의 플랫폼 > iOS' 카테고리의 다른 글
[ C언어 ] 기초 공부 (0) | 2012.07.11 |
---|---|
[ Object-c ] 반복문 연습 (0) | 2011.06.15 |
[ Object-c ] NSAutoreleasePool란? (0) | 2011.06.15 |
[ Ojbect-C ] 윈도우에서 Object-c 사용하기 (11) | 2011.06.15 |
Object-c 사이트 (0) | 2011.06.14 |