인스턴스 변수 이해하기
인스턴스 변수는 객체의 인스턴스 내에서 생성되며, 해당 인스턴스에 고유한 변수로 간주됩니다. 즉, 동일한 객체의 여러 인스턴스가 동일한 변수를 가질 수 있지만, 각 변수는 다른 값을 가질 수 있습니다. 이번 문서에서는 인스턴스 변수가 어떻게 생성되는지 설명하고, 다양한 예제를 제공하겠습니다.
인스턴스 변수 생성
인스턴스 변수를 생성하려면 값을 할당하면 됩니다. 아래는 인스턴스 변수를 선언하는 간단한 예제입니다:
potions = 12; // 포션 수
life = 100; // 생명력
name = "Jock MacSweeney"; // 이름
strength = 5.5; // 힘
armour = -2; // 방어력
이 코드에서 우리는 변수 이름과 값을 지정하여 변수를 설정했습니다. 값은 함수의 반환 값이나 다른 변수 간의 연산 결과일 수 있습니다. 이제 이 변수들은 객체의 인스턴스 내에서 사용하고 수정할 수 있습니다.
예제: 생명력 줄이기
아래는 충돌 이벤트에서 "life" 변수에서 값을 차감하는 예제입니다:
life -= 5 + armour;
만약 "life"의 초기값이 100이라면, 이제 "life"는 97이 됩니다. (100 - (5 + -2) = 97)
인스턴스 변수의 장점
이러한 변수를 사용하면 하드코딩된 값을 여러 군데에서 수정해야 할 필요가 없습니다. 예를 들어, 방어력 "armour"를 -2로 직접 코드에 기록해 두었다면, 나중에 이 값을 변경해야 할 경우 모든 코드에서 -2를 찾아 바꿔야 합니다. 하지만 변수를 사용하면 새로운 값을 재할당하는 것만으로 코드에서 자동으로 새로운 값을 사용할 수 있게 됩니다.
변수 명명법
직관적으로 변수의 이름을 설정하는 것이 좋습니다. 예를 들어 "life"라는 변수는 숫자보다 의미가 더 쉽게 기억됩니다.
GameMaker의 내장 인스턴스 변수
GameMaker에는 몇 가지 "내장" 인스턴스 변수가 존재합니다. 나중에 자신의 인스턴스 변수를 만들 때 같은 이름을 사용할 경우 오류가 날 수 있으니 주의하세요. 내장 변수는 코드 편집기에서 다른 색상으로 표시되며 자동 완성 기능에 나타나고 코드 편집기 하단 바에 표시됩니다.
인스턴스 변수와 관련된 함수
인스턴스 변수를 다루는 데 도움이 되는 런타임 함수가 많이 있습니다. 이에 대한 정보는 다음 섹션에서 다루어집니다.
변수 함수 관련 섹션
- 이전 페이지: 변수 및 변수 범위
- 다음 페이지: 전역 변수
다양한 활용 및 응용 예제
| 변수 이름 | 변수 설명 | 예제 값 | 설명 |
|---|---|---|---|
| potions | 포션 수 | 12 | 플레이어가 가진 포션의 수 |
| life | 생명력 | 100 | 플레이어의 현재 생명력 |
| name | 캐릭터 이름 | "Jock MacSweeney" | 플레이어 캐릭터의 이름 |
| strength | 캐릭터 힘 | 5.5 | 캐릭터의 힘 수치 |
| armour | 캐릭터 방어력 | -2 | 캐릭터의 방어력 수치 |
이러한 변수들은 게임의 상태를 추적하고 다양한 기능을 제공하는 데 사용됩니다. 인스턴스 변수를 활용하여 복잡한 게임 로직을 쉽게 처리할 수 있습니다.
결론
인스턴스 변수는 객체 지향 프로그래밍에서 매우 중요한 역할을 하며, 코드를 더 쉽게 관리하고 이해할 수 있게 도와줍니다. 변수를 잘 활용하면 게임 개발에서 많은 유용함을 제공할 수 있습니다.