인스턴스 변수의 범위를 조절하는 지시어
이제 인스턴스 변수의 범위가 클래스에 정의된 인스턴스 메서드에 의해 제한된다는 것을 안다. 따라서 어 느 인스턴스 메서드든 특별한 방법을 사용하지 않고 인스턴스 변수에 이름으로 직접 접근할 수 있다. 또한, 서브클래스를 통해 상속받은 인스턴스 변수가 있음도 알 것이다. 서브클래스에 정의된 메서드는 상 속받은 인스턴스 변수에 이름으로 직접 접근할 수 있다. 다시 한 번 말하지만, 특별히 다른 무언가를 해주 지 않아도 된다.
인터페이스 부분에서 인스턴스 변수를 선언할 때 선언 앞에 네 가지 지시어를 붙임으로써 범위를 더 상세
히 설정할 수 있다.
□ @protected – 어떤 클래스에서 인스턴스 변수가 정의되었을 때, 그 클래스와 그 서브클래스에 정의된
메서드는 이 인스턴스 변수에 바로 접근할 수 있다. 이것이 기본 값이다.
□ @private – 클래스에 정의된 메서드는 인스턴스 변수에 바로 접근할 수 있지만, 서브클래스의 메서도
는 바로 접근할 수 없다.
□ @public – 인스턴스 변수가 정의된 클래스와 그 밖의 클래스 그리고 모듈에 정의된 메서드라면, 인스
턴스 변수에 바로 접근할 수 있다(어디서든 인스턴스 변수에 접근할 수 있다).
□ @package – 64비트 이미지의 경우, 그 클래스를 구현하는 이미지 안에서는 어디서든 인스턴스 변수
에 접근할 수 있다.
'C/Objective C > Objective C' 카테고리의 다른 글
Objective C 정적변수 예제 따라하기 (0) | 2012.07.23 |
---|---|
Objective C 전역 변수 (0) | 2012.07.23 |
Objective C Class 초기화 예제 따라하기 (0) | 2012.07.23 |
Objective C Polymorphism(다형성) 예제 따라하기 (0) | 2012.07.18 |
Objective C @Class 지시어 예제 따라하기 (0) | 2012.07.17 |