반응형
인스턴스 메소드와 클래스 메소드
클래스 내부 메소드의 종류를 알아보자.
|
인스턴스 메소드 |
클래스 메소드 |
선언의 차이 |
- 로 시작 |
+ 로 시작 |
메시지 리시버 |
객체 |
클래스 |
멤버 변수 접근 여부 |
가능 |
불가능 |
[인스턴스 메소드 예제]
인스턴스 메소드는 클래스 멤버 변수 접근 가능.
-> 멤버 변수를 활용한 메소드는 인스턴스 메소드로 선언.
(선언 예시)
-(void)my_method;
(사용 예시)
Test *ins= [[Test alloc] init]; //메시지 리시버가 객체이므로 객체 선언과 초기화 필요.
[ins my_method]; //객체를 통해 호출.
[클래스 메소드 예제]
클래스 메소드는 클래그 멤버 변수에 접근 불가.
-> 멤버 변수가 필요하지 않은 메소드는 클래스 메소드로 선언.
(선언 예시)
+(void)my_method2;
(사용 예시)
[Test my_method]; //메시지 리시버가 클래스이므로 객체 선언과 초기화 필요 없음.
//바로 클래스명만 치고 호출.
반응형