본문 바로가기

Objective C enum 예제 따라하기 열거 데이터 형 Objective-C에서는 변수에 할당 가능한 값의 범위를 지정할 수 있다. 열거 데이터형은 키워드 enum을 붙여서 정의한다. 이 키워드 뒤에 바로 열거 데이터 형의 이름이 붙고 그 다음에는 (중괄호 안에) 대입 가 능한 값들을 정의하는 식별자 목록이 나온다. 예를 들어, 다음 명령문으로는 flag라는 데이터 형을 정의한다. enu flag { false, true}; 이론적으로 이 flag형은 true와 false 값만 할당할 수 있다. 안타깝게도 컴파일러는 이 규칙을 위반해도 경고 메시지를 주지 않는다. enum flag 형 변수를 선언하려면 키워드 enum과 열거형 이름 flag를 쓴 다음 그 뒤에 변수 목록을 적어 준다. 다음 명령문으 endOfData, matchFound를 .. 더보기
Objective C 정적변수 예제 따라하기 정적 변수 앞서 메서드 외부에서 정의된 변수는 전역 변수만이 아니라 외부 변수도 된다고 이미 말했다. 그러나 전역 변수이면서도 외부 변수는 되지 않기를 원하는 경우가 많다. 다시 말하면, 특정 모듈(파일)에서는 지역변수 이면서 전역으로 변수를 정의하고 싶을 때가 있다는 이야기다. 만일, 특정 클래스 정의에 포함된 메서드를 제외하고는 특정 변수에 접근할 필요가 없다면, 이런 식으로 변수를 정의해야 합당하다. 파일 내에서 특정 클래스를 구현하는 부분이 있다면 파일 안에서 변수를 정적으로 정의하여 이를 달성할 수 있다. 만일 메서드(혹은 함수) 바깥에서 다음 명령문을 사용하면, 이 정의가 나오는 파일 안에, 명령문 다음에 등 장하는 모든 지점에서는 gGlobalVar의 값을 접근할 수 있다. 그러나 다른 파일.. 더보기
Objective C 전역 변수 외부 변수 만일 다음 명령문을 프로그램 초반에(메서드와 클래스 정의 그리고 함수 바깥에서)작성했다면 이 값은 그 모듈 어디서든 참조할 수 있다. int gMoveNumber = 0; 이 경우에 gMoveNumber가 ‘전역(global)’ 변수로 정의되었다고 말한다. 명명규칙(convention)을 따르면 보통 전역 변수의 첫 글자로 g가 쓰인다. 이를 통해 프로그램 코드를 읽는 사람은 변수의 범위를 알게 된 다. 사실, 변수 gMoveNumber를 이렇게 정의하면 다른 파일에서도 이 값에 접근할 수 있다. 특히 앞의 명령 문은 변수 gMoveNumber를 global 변수만이 아닌 ‘외부’ global 변수로 정의한다. ‘외부’ 변수는 그 값을 다른 메서드나 함수에서 접근하고 도 바꿀 수도 있는 변수다.. 더보기