프로그래밍/Objective C

Objective C - 메소드 재정의하기

가카리 2015. 9. 17. 22:34
반응형

부모 메소드를 자식에서 재정의 할 수 있다.

 

 

#import <Foundation/Foundation.h>

 

//Class A 선언 정의

 

@interface ClassA: NSObject{

    int x;

}

 

-(void) initVar;

 

@end

 

@implementation ClassA

-(void) initVar{

    x = 100;

}

@end

 

//Class B 선언 정의

 

@interface ClassB: ClassA

-(void) initVar;

-(void) printVar;

@end

 

@implementation ClassB

-(void) initVar{

    x = 200;

}

 

-(void) printVar{

    NSLog(@"x = %i", x);

}

 

@end

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        ClassB *b = [[ClassB alloc] init];

        

        [b initVar];//ClassB에서 재정의한 메소드를 사용한다.

        

        [b printVar];//x값을표시

    

    

    }

    return 0;

}

 

실행 화면

 

 

반응형