안녕하세요.
오늘 포스팅에서는 클래스에 대한 기초를 정리하겠습니다.
먼저 클래스란?
클래스는 하나의 주제로 묶여 있는 속성과 기능 입니다. 여기서 주제를 '클래스명' ,속성은 '인스턴스 변수' ,기능은 '메소드'라 칭합니다. 이러한 클래스를 가지고 객체를 생성해서 사용합니다. |
클래스 구조
클래스는 다음과 같은 구조로 '@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; } |
이상으로 클래스에 대한 포스팅을 마치겠습니다.
※해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다.
'아이폰 > 개발일지' 카테고리의 다른 글
[Objective-C] 커스텀 팝업 만들기 (2) | 2018.01.08 |
---|---|
[Objective-c] 뷰 간의 데이터 전달 (0) | 2017.12.27 |
[Objective-c] CocoaPods 사용하기 (0) | 2017.12.20 |
[Objective-C] 메소드 기초 (0) | 2017.12.08 |
[Objective-C] 데이터 타입 (0) | 2017.12.04 |