이번 Step에서 잡아야 할 것

  • 변수 = 이름 붙은 메모리 공간
  • 타입(Type): 그 공간에 “무슨 형태의 값”을 저장할지(크기/해석 방식)
  • 기본 사용: 선언(공간 확보) → 대입(쓰기) → 사용(읽기)

HP를 관리한다고 가정

게임에서 HP 같은 데이터를 관리하려면 결국 아래 3가지를 반복합니다.

  1. 공간 확보(선언): HP를 담을 메모리 공간이 필요함
  2. 데이터 넣기(쓰기): 시작 HP 100 같은 값을 저장
  3. 사용(읽기/갱신): 꺼내서 연산하고 다시 저장 (피격/회복 등)

메모리 주소

  • RAM의 모든 바이트에는 주소(address)가 있습니다. (예: 0x0000..., 0x7FF... 같은 형태)
  • 하지만 주소를 매번 직접 다루면 어렵고 실수하기 쉽습니다.
  • 그래서 변수 이름으로 주소를 “가려서” 간접적으로 메모리를 사용합니다.

변수 = 상자(바구니)

RAM 어딘가
┌──────────────┐
│   hp = 100   │  ← 이름(hp)로 접근
└──────────────┘
   (주소는 내부적으로 관리)
  • 크기: 데이터에 맞게 (HP는 정수 → 4바이트 등)
  • 이름: HP라고 부르기로 함
  • 역할: 메모리 공간 임대 + 이름 부여

변수 사용 3단계

단계의미예시
1. 선언(확보)저장 공간을 마련int hp;
2. 쓰기(대입)값을 넣음hp = 50;
3. 읽기(사용)값을 꺼내 사용cout << hp;

간단 예시는 이렇게 이어집니다.

int hp = 100;   // 선언 + 초기화(첫 값을 넣는 것)
hp -= 10;       // 읽어서 계산한 뒤 다시 쓰기
cout << hp;     // 읽기

체크 질문 (스스로 답해보기)

  • 변수는 “주소”를 어떻게 다루기 쉽게 만들어줄까?
  • int를 붙이는 이유는 뭘까? (크기/해석 방식 관점에서)
  • 선언과 대입은 같은 행위일까? 다르다면 각각 무엇을 의미할까?

profile
李家네_공부방

0개의 댓글