BIBI BLOG
[Objective-C]클래스 만들기 본문
728x90
■클래스 정의는?
Objective-C클래스는 다음과 같은 형태로 정의됩니다.
Objective-C 에서 클래스를 만들 때 헤더 정보가되는 부분과 실제로 수행 할 작업을 설명하는 구현 부분을 나누어 만들 수 있도록되어 있습니다.
※ 헤더 부분
@interface 클래스명 : NSObject {
……인스턴스 변수명 등을 선언 ……
}
……메소드……
@end
※구현 부분
@implementation 클래스명
……구체적인 내용……
@end
헤더 부분은 @interface 뒤에 클래스 명을 기술합니다. 그리고 클래스 이름 뒤에 「: NSObject」의 「상속」이라는 기능을 사용합니다. 이는 " NSObject "라는 클래스를 상속받은 새로운 클래스가 생성됩니다.
헤더 부분은 클래스 이름 뒤에 {} 내와 이후 @end 사이에 「인스턴스 변수」와 「메소드」를 정의하고 있습니다. 이 두 가지를 정의하는 것이 클래스를 만드는 것을 의미하게되는 것입니다.
구현 부분은 @implementation 이라는 것의 뒤에 클래스 명을 기술합니다. 그리고 @end사이에 메소드의 구체적인 내용을 적습니다.
이 두 가지를 만들면 클래스는 완성입니다.
■메소드의 정의
-( 반환값 ) 메소드명;
-( 반환값 ) 메소드명:( 타입 ) 인수;
-( 반환값 ) 메소드명:( 타입 ) 인수 메소드명;
-( 반환값 ) 메소드명:( 타입 ) 인수 메소드명:( 타입 ) 인수;
메소드 맨 앞에는 '+' 혹은 '-' 가 메소드형이 있습니다. 이를 통해 메소드가 클래스 메소드인지 인스턴스 메소드인지 알 수 있습니다.
-메소드형이 '+'인 경우, 클래스 메소드로 클래스를 생성하지 않고도 쓸 수 있는 메소드입니다.
-메소드형이 '-'인 경우, 인스턴스 메소드로 객체선언과 초기화가 필요합니다.
인스턴스 메소드 | 클래스 메소드 | |
선언 | - | + |
리시버 | 객체 | 클래스 |
멤버 변수 접근 | 가능 | 불가능 |
728x90
'iOS > Objective-c' 카테고리의 다른 글
[Objective-C]NSDate와 날짜다루기 (0) | 2020.10.05 |
---|---|
[Objective-C]NSMutableString다루기 (0) | 2020.10.02 |
[Objective-C]NSString다루기 (0) | 2020.10.01 |
[Objective-C]인스턴스 변수의 접근 권한 및 속성(propert) (0) | 2020.09.30 |
Objective-C란? (0) | 2020.09.28 |
Comments