iOS self.variable 과 _variable 의 차이점

그냥 무턱대고 개발을 하다 보면 문득 궁금한 점이 생긴다.

self.variable 과 _variable 의 차이가 무얼까?

보통 iOS는 h 로 불리우는 헤더파일 (보통은 Public 으로도 부른다. 이곳에 선언을 하면 Public 이 되기 때문이다.) 과 m 으로 불리우는 모듈파일(보통은 Private로 불리우며 이곳에 선언을 하면 Private 가 되기 때문이다.)

헤더파일에 만약 다음과 같이 변수를 하나 선언하였다면
@property NSString *stringVariable;

이를 보통 모듈파일에서 이렇게 사용한다.
1. self.stringVariable 
2. [self stringVariable]
3. _stringVariable

1번과 2번은 사용법만 다르지 같다.
하지만 3번은 다르다.

1번가 2번은 객체를 사용하는 방법이며
3번은 인스턴스 변수를 접근하는 방법이다.

인스턴스 변수는 객체를 할당하고 시작해야 접근할 수 있다.

댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

VCC 와 GND 는 무엇일까?