BIBI BLOG

[Objective-C]클래스 만들기 본문

iOS/Objective-c

[Objective-C]클래스 만들기

BIBI⭐️ 2020. 9. 29. 16:40
728x90

■클래스 정의는?

Objective-C클래스는 다음과 같은 형태로 정의됩니다. 
Objective-C 에서 클래스를 만들 때 헤더 정보가되는 부분과 실제로 수행 할 작업을 설명하는 구현 부분을 나누어 만들 수 있도록되어 있습니다.

※ 헤더 부분

@interface 클래스명 : NSObject {
    ……인스턴스 변수명 등을 선언 ……
}

……메소드……

@end

※구현 부분

@implementation 클래스명
    ……구체적인 내용……
@end

헤더 부분은 @interface  뒤에 클래스 명을 기술합니다. 그리고 클래스 이름 뒤에 「: NSObject」의 「상속」이라는 기능을 사용합니다.  이는 " NSObject "라는 클래스를 상속받은 새로운 클래스가 생성됩니다.

헤더 부분은 클래스 이름 뒤에 {} 내와 이후 @end 사이에 인스턴스 변수」 「메소드」를 정의하고 있습니다. 이 두 가지를 정의하는 것이 클래스를 만드는 것을 의미하게되는 것입니다.
구현 부분은 @implementation 이라는 것의 뒤에 클래스 명을 기술합니다. 그리고 @end사이에 메소드의 구체적인 내용을 적습니다. 

이 두 가지를 만들면 클래스는 완성입니다. 

■메소드의 정의

-( 반환값 ) 메소드명;
-( 반환값 ) 메소드명:( 타입 ) 인수;
-( 반환값 ) 메소드명:( 타입 ) 인수 메소드명;
-( 반환값 ) 메소드명:( 타입 ) 인수 메소드명:( 타입 ) 인수;

메소드 맨 앞에는 '+' 혹은 '-' 가 메소드형이 있습니다. 이를 통해 메소드가 클래스 메소드인지 인스턴스 메소드인지 알 수 있습니다. 
 -메소드형이 '+' 경우, 클래스 메소드로 클래스를 생성하지 않고도   있는 메소드입니다.
 -메소드형이 '-' 경우, 인스턴스 메소드로 객체선언과 초기화가 필요합니다.

  인스턴스 메소드 클래스 메소드
선언 - +
리시버 객체 클래스
멤버 변수 접근 가능 불가능
728x90
Comments