본문 바로가기

교육/Objective-C

[Objectiv-C] method

1. 함수

+함수 : static 멤버 함수, 객체 초기화 없이 바로 클래스 명으로 사용 가능, [클래스명 함수];

          c언어: 클래스 :: 함수명

          자바: 클래스명.함수명

-함수 : 멤버 함수, 객체 초기화 사용해야함

          c언어 : 클래스 변수->함수;


2. 함수 이름

: 함수 이름에 포함


함수

   함수  

  -(void) go;  

 go

  -(void) go:(int)a;

  go:

  -(void) go:(int)a speed:(int)s;

  go: speed:

   -(void) go:(int)a speed:(int)s sound:(int)snd;

  go: speed: sound: 


3. 오버로딩

그런거 안됌

go:(int)a;

go:(float)a;

위와 같이 선언시 중복 선언 되었다고 에러남


4. 샘플 코드 

@interface Car : NSObject

{

    int speed;

}

-(void) go;

-(void) go:(int)a;

-(void) go:(int)a speed:(int)s;

-(void) go:(int)a speed:(int)s sound:(int)snd;

@end


@implementation Car


-(void)go

{

    NSLog(@"go1");

}

-(void)go:(int)a

{

    NSLog(@"go2");

}

-(void)go:(int)a speed:(int)s

{

    NSLog(@"go3");

}

-(void)go:(int)a speed:(int)s sound:(int)snd

{

    NSLog(@"go4");

}

@end


int main()

{

    Car* a = [Car alloc];

    [a go];

    [a go:1];

    [a go:2 speed:3];

    [a go:3 speed:4 sound:5];

    return 0;

}

'교육 > Objective-C' 카테고리의 다른 글

[Objective-C] 메모리 관리  (0) 2016.07.26
[Objective-C] init  (0) 2016.07.26
[Objective-C] target-Action  (0) 2016.07.13
[Objective-C] selector  (0) 2016.07.13
[Obective-C] Class  (0) 2016.07.13