라벨이 self.var인 게시물 표시

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번은 인스턴스 변수를 접근하는 방법이다. 인스턴스 변수는 객체를 할당하고 시작해야 접근할 수 있다.