외부 변수
만일 다음 명령문을 프로그램 초반에(메서드와 클래스 정의 그리고 함수 바깥에서)작성했다면 이 값은 그 모듈 어디서든 참조할 수 있다.
int gMoveNumber = 0;
이 경우에 gMoveNumber가 ‘전역(global)’ 변수로 정의되었다고 말한다. 명명규칙(convention)을 따르면
보통 전역 변수의 첫 글자로 g가 쓰인다. 이를 통해 프로그램 코드를 읽는 사람은 변수의 범위를 알게 된
다.
사실, 변수 gMoveNumber를 이렇게 정의하면 다른 파일에서도 이 값에 접근할 수 있다. 특히 앞의 명령
문은 변수 gMoveNumber를 global 변수만이 아닌 ‘외부’ global 변수로 정의한다.
‘외부’ 변수는 그 값을 다른 메서드나 함수에서 접근하고 도 바꿀 수도 있는 변수다. 외부 변수에 접근하
고 싶은 모듈에서 일반적인 선언 방식과 동일하게 변수를 선언한 다음 그 앞에 extern 키워드를 추가한
다. 이것은 시스템에게 보내는 일종의 신호다. 이렇게 하면 시스템은 다른 파일에서 전역으로 정의된 변수
에 접근해야 한다는 걸 알게 된다. 다음은 gMoveNumber를 외부 변수로 선언하는 방법을 다룬 예제다.
extern int gMoveNumber;
이 선언이 나오는 모듈은 이제 gMoveNumber에 접근하고 값을 수정할 수 있다. 다른 모듈도 파일에 비
슷한 방식으로 extern을 선언하여 gMoveNumber의 값에 접근할 수 있다.
'C/Objective C > Objective C' 카테고리의 다른 글
Objective C enum 예제 따라하기 (0) | 2012.07.23 |
---|---|
Objective C 정적변수 예제 따라하기 (0) | 2012.07.23 |
Objective C Instance 변수의 범위를 조절하는 지시어 (0) | 2012.07.23 |
Objective C Class 초기화 예제 따라하기 (0) | 2012.07.23 |
Objective C Polymorphism(다형성) 예제 따라하기 (0) | 2012.07.18 |