[Objective-C] Class Method

Java 의 클래스 메소드와 Objective-C 의 클래스 메소드는 다소 차이가 있다.

우선 Objective-C 에서 클래스 메소드는  아래와 같이 (+) 기호를 사용하여 정의한다.

@interface TestClass

+(void)testClassMethod;

@end

Objective-C 에서는 프로그램이 실행될 때 각 클래스마다 하나의 클래스 인스턴스가 생성되며, 클래스 메소드는 클래스 인스턴스가 받아서 처리하는 메소드다. 클래스 이름을 직접 지정하면 해당 클래스에 대한 인스턴스가 사용된다 –  [TestClass testClassMethod]

클래스 메소드 내에서 self  키워드를 사용하면 이는 클래스 인스턴스를 의미한다. Java의 클래스 메소드는 개별 인스턴스가 없어서 this 키워드를 사용하지 못하는 것과 다른 점이다.

Objective-C에서는 클래스를 상속할 때 클래스 메소드도 상속된다. 서브 클래스에서 클래스 메소드 재정의도 가능하다.

Advertisements
Leave a comment

1 Comment

  1. [Objective-C] 객체 인스턴스 초기화 메소드 « Park's Park

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: