본문 바로가기

아이폰/개발일지

[Objective-C] 클래스 기초

반응형

안녕하세요.

오늘 포스팅에서는 클래스에 대한 기초를 정리하겠습니다.


먼저 클래스란?

 

클래스는 하나의 주제로 묶여 있는 속성과 기능 입니다. 여기서 주제를 '클래스명' ,속성은 '인스턴스 변수' ,기능은 '메소드'라 칭합니다. 

이러한 클래스를 가지고 객체를 생성해서 사용합니다. 



클래스 구조

 

클래스는 다음과 같은 구조로 '@interface' 와 '@implementation' 를 통해 사용할 수 있습니다


 

@interface 클래스명:슈퍼클래스명{

인스턴스 변수 선언;

}

메소드 선언;

@end


@implementation 클래스명

-(반환타입) 메소드명{

메소드 정의;

}

@end



먼저 '@interface'를 통해 클래스에 대해 정의합니다.

 

'@interface' 지시자와 '@end' 지시자로 감싸져 있는 부분이 'Car' 클래스에 대한 인스턴스 변수 와 메소드에대한 정의입니다.

그리고 보통의 클래스는 정의할 경우 루트 클래스인 NSObject를 상속합니다.



@interface Car:NSObject{

    int maxSpeed;

    NSString *color;

}

-(void) drive;

-(void) stop;

@end


 



다음은 '@implementation'를 통해 정의한 클래스에대해 실질적 기능등을 구현합니다.

 

'@implementation' 지시자와 '@end' 지시자로 감싸져 있어, '@interface'를 통해 정의한 부분을 상세 구현합니다.


 

@implementation Car


-(void) drive{

    NSLog(@"운행시작");

}

-(void) stop{

    NSLog(@"운행멈춤");

}


@end



그리고 실질적으로 객체화 시켜서 사용합니다.

 

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

    @autoreleasepool {

        // insert code here...

        Car *car=[[Car alloc]init];

        

        car.drive;

        car.stop;

    }

    return 0;

}





이상으로 클래스에 대한 포스팅을 마치겠습니다.



해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다. 






반응형