Objective C에서는 크게 3부분으로 나뉘는데
1. @interface : 클래스, 메소드 선언
2. @implementation : 메소드 구현
3. 프로그램 : 실행 프로그램 코드
예제를 보면
//클래스 이름을 Fraction 부모는 NSObject라 한다.
@interface Fraction : NSObject
//클래스안에메소드를선언함
-(void) print;
-(void) setNumerator: (int) n;//n은넘겨주는파라미터임
-(void) setDenominator: (int) d;
@end
여기서는 Fraction이라는 클래스는 3개의 메소드를 가지고있다.
Fraction클래스는 NSObject라는 클래스를 상속받고 있다.
그리고
//@implementation 부분
@implementation Fraction{
int numerator;
int denominator;
}
-(void) print//결과값을 출력하는 메소드
{
NSLog(@"%i/%i", numerator, denominator);//두변수를출력함
}
-(void) setNumerator:(int)n
{
numerator = n;
}
-(void)setDenominator:(int)d
{
denominator = d;
}
@end
여기서는 실제 메소드를 작성하고있다.
메소드 작성시 -로 시작해야되며 그다음 반환값을 쓴다.
반환값이 int면 -(int) function_name 이런식으로 작성하게 된다.
그리고 :(int) n은 하나의 정수인수가 메소드로 넘겨진다는 뜻이다. 인수가 없다면
-(void) function_name{} 로 콜론이 없다.
//프로그램부분
int main(int argc, const char * argv[]) {
@autoreleasepool {
Fraction *myFraction;
//Fraction 인스턴스를 생성한다
myFraction = [Fraction alloc];
myFraction = [myFraction init];
//1/3로 분수의 값을 설정한다.
[myFraction setNumerator : 1];
[myFraction setDenominator: 3];
//print메서드로 분수의 값을 표시한다.
NSLog(@"값은?");
[myFraction print];
}
return 0;
}
여기는 실제 메인 함수부분이다.
Fraction 형 객체인 myFraction을 선언하였다.
그리고 아래 부분은 실제 메소드를 호출하는 부분이다.
//1/3로 분수의 값을 설정한다.
[myFraction setNumerator : 1];
[myFraction setDenominator: 3];
이로써 간단한 클래스 및 메소드 구현후 호출방법을 알아보았다.
예제 전체 파일.
#import <Foundation/Foundation.h>
//@interface 부분
//클래스 이름을 Fraction 부모는 NSObject라 한다.
@interface Fraction : NSObject
//클래스안에메소드를선언함
-(void) print;
-(void) setNumerator: (int) n;//n은넘겨주는파라미터임
-(void) setDenominator: (int) d;
@end
//@implementation 부분
@implementation Fraction{
int numerator;
int denominator;
}
-(void) print//결과값을 출력하는 메소드
{
NSLog(@"%i/%i", numerator, denominator);//두변수를출력함
}
-(void) setNumerator:(int)n
{
numerator = n;
}
-(void)setDenominator:(int)d
{
denominator = d;
}
@end
//프로그램부분
int main(int argc, const char * argv[]) {
@autoreleasepool {
Fraction *myFraction;
//Fraction 인스턴스를 생성한다
myFraction = [Fraction alloc];//메모리 공간 할당 NSObject에서 상속받은 함수
myFraction = [myFraction init];//초기화부분
//두줄을 myFraction = [[Fraction alloc] init];으로 결합가능
//1/3로 분수의 값을 설정한다.
[myFraction setNumerator : 1];//아래 1과 3은파라미터값임
[myFraction setDenominator: 3];
//print메서드로 분수의 값을 표시한다.
NSLog(@"값은?");
[myFraction print];//print 메소드호출함
}
return 0;
}
실행화면
'프로그래밍 > Objective C' 카테고리의 다른 글
Objective C - @class 지시어 사용하기 (0) | 2015.09.15 |
---|---|
Objective C - 상속으로 확장하기 (새 메소드 추가) (0) | 2015.09.14 |
Objective C - 간단한 예제를 이용한 상속이해 (0) | 2015.09.11 |
Objective C - 세터(setter)와 게터(getter) 자동 생성 및 클래스를 인자로 넘기기 (0) | 2015.09.06 |
Objective C - 인터페이스와 구현파일 나누기 (0) | 2015.09.06 |
Xcode에서 Objective C class가 없을때 (0) | 2015.09.06 |
Objective C - 반복문 for문 예제 (0) | 2015.09.05 |
Objective C - 간단한 클래스를 활용한 계산기 만들기 (0) | 2015.08.31 |