이후 관련 소스는 http://www.otierney.net/objective-c.html 를 참고했음.
Creating Classes
Fraction.h
Fraction.m
main.m
[클래스 메소드명]의 메소드 호출 방식
객체 할당 후 초기화 잊지말기
메소드 호출 시에 인자 넘기는 경우, 인자에 이름 붙이기 가능
Objective-C 다운 표현으로는 [receiver message]. 리시버에게 메시지를 보낸다고 표현
메소드 정의 시의 +/-
- Instance method
+ Class method
Creating Classes
Fraction.h
#import <Foundation/NSObject.h> @interface Fraction: NSObject { int numerator; int denominator; } -(Fraction*) initWithNumerator: (int) n andDenominator: (int) d; -(void) print; -(void) setNumerator: (int) n; -(void) setNumerator: (int) n andDenominator: (int) d; -(void) setDenominator: (int) d; -(int) numerator; -(int) denominator; @end |
Fraction.m
#import "Fraction.h" #import <stdio.h> @implementation Fraction -(Fraction*) initWithNumerator: (int) n andDenominator: (int) d { self = [super init]; if(self) { [self setNumerator: n andDenominator: d]; } return self; } -(void) print { printf( "%i/%i", numerator, denominator ); } -(void) setNumerator: (int) n { numerator = n; } -(void) setNumerator: (int) n andDenominator: (int) d { numerator = n; denominator = d; } -(void) setDenominator: (int) d { denominator = d; } -(int) denominator { return denominator; } -(int) numerator { return numerator; } @end |
main.m
#import <stdio.h> #import "Fraction.h" int main( int argc, const char *argv[] ) { // create a new instance Fraction *frac = [[Fraction alloc] init]; Fraction *frac2 = [[Fraction alloc] init]; Fraction *frac3 = [[Fraction alloc] initWithNumerator: 3 andDenominator: 10]; // set the values [frac setNumerator: 1]; [frac setDenominator: 3]; // combined set [frac2 setNumerator: 1 andDenominator: 5]; // print it printf( "The fraction is: " ); [frac print]; printf( "\n" ); // print it printf("Fraction 2 is: "); [frac2 print]; printf( "\n" ); // print it printf("Fraction 3 is: "); [frac3 print]; printf( "\n" ); // free memory [frac release]; [frac2 release]; [frac3 release]; system("PAUSE"); return 0; } |
[클래스 메소드명]의 메소드 호출 방식
객체 할당 후 초기화 잊지말기
메소드 호출 시에 인자 넘기는 경우, 인자에 이름 붙이기 가능
Objective-C 다운 표현으로는 [receiver message]. 리시버에게 메시지를 보낸다고 표현
메소드 정의 시의 +/-
- Instance method
+ Class method
'프로그래밍 > iPhone Dev' 카테고리의 다른 글
[Objective C] 03 Class Level Access (0) | 2009.10.27 |
---|---|
[Objective C] 02 Access Privledges (0) | 2009.10.27 |
[Objective C] 환경설정 (0) | 2009.10.27 |
[Objective C] 튜토리얼 (0) | 2009.10.14 |
[Objective C] windows에서 objective C개발하기 (0) | 2009.09.07 |