iOS self.variable 과 _variable 의 차이점
그냥 무턱대고 개발을 하다 보면 문득 궁금한 점이 생긴다.
self.variable 과 _variable 의 차이가 무얼까?
보통 iOS는 h 로 불리우는 헤더파일 (보통은 Public 으로도 부른다. 이곳에 선언을 하면 Public 이 되기 때문이다.) 과 m 으로 불리우는 모듈파일(보통은 Private로 불리우며 이곳에 선언을 하면 Private 가 되기 때문이다.)
헤더파일에 만약 다음과 같이 변수를 하나 선언하였다면
이를 보통 모듈파일에서 이렇게 사용한다.
1. self.stringVariable
2. [self stringVariable]
3. _stringVariable
1번과 2번은 사용법만 다르지 같다.
하지만 3번은 다르다.
1번가 2번은 객체를 사용하는 방법이며
3번은 인스턴스 변수를 접근하는 방법이다.
인스턴스 변수는 객체를 할당하고 시작해야 접근할 수 있다.
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번은 인스턴스 변수를 접근하는 방법이다.
인스턴스 변수는 객체를 할당하고 시작해야 접근할 수 있다.
댓글
댓글 쓰기