콘텐츠로 이동

C. 변수 선언

예상 시간: 7분 | 이전: B. 게임 창 만들기 | 다음: D. Entity로 3D 큐브 만들기


🎯 학습 목표

이 강의를 마치면 다음을 할 수 있어요:

  • ○ 변수가 무엇인지 이해한다
  • = 기호로 값을 저장할 수 있다
  • ○ 다양한 타입의 변수를 만들 수 있다

핵심 개념

변수(Variable)란?

변수는 값을 저장하는 상자입니다.

📝 비유: 이름표가 붙은 상자

변수는 이름표가 붙은 상자와 같습니다!

  • cube_size라는 이름표가 붙은 상자에 숫자 2를 넣음
  • 나중에 cube_size 상자를 열면 2가 나옴
  • 상자 안의 내용물은 언제든 바꿀 수 있음

게임에서 점수, 체력, 색상 등을 저장할 때 사용해요!

변수 사용 흐름도

flowchart LR
    A["변수 이름"] --> B["="]
    B --> C["값"]
    C --> D["저장 완료!"]

    E["cube_size"] --> F["="]
    F --> G["2"]
    G --> H["cube_size에 2 저장"]

    style A fill:#e3f2fd,stroke:#1976d2
    style E fill:#e3f2fd,stroke:#1976d2
    style C fill:#e8f5e9,stroke:#388e3c
    style G fill:#e8f5e9,stroke:#388e3c

변수 만들기

my_name = "Student"      # 문자열 변수
cube_size = 2            # 숫자 변수
cube_color = color.red   # 색상 변수

설명:

  • = 기호를 사용하여 값을 저장합니다
  • 변수 이름은 상자의 라벨과 같습니다
  • 나중에 변수 이름으로 값을 꺼낼 수 있습니다

변수의 종류

종류 예시 설명 용도
문자열 "Student" 따옴표로 감싼 글자 이름, 메시지
정수 2 소수점 없는 숫자 개수, 크기
실수 3.14 소수점 있는 숫자 위치, 속도
색상 color.red Ursina 색상 객체 색상

⚠️ 변수 이름 규칙

변수 이름을 지을 때 주의하세요!

  • ✅ 영문, 숫자, 밑줄(_) 사용 가능
  • cube_size, myName, player1
  • ❌ 숫자로 시작하면 안 됨: 1cube
  • ❌ 공백 사용 불가: cube size
  • ❌ 특수문자 불가: cube-size, cube@size

예제 코드

from ursina import *

app = Ursina()

# 변수 선언
my_name = "Student"
cube_size = 2
cube_color = color.red

# 변수 사용
print(f"이름: {my_name}")
print(f"크기: {cube_size}")
print(f"색상: {cube_color}")

app.run()

결과

콘솔에 변수 값이 출력됩니다!

이름: Student
크기: 2
색상: (255, 0, 0, 255)

🎯 퀴즈

퀴즈: 변수의 역할
cube_size = 2에서 변수 cube_size의 역할은?
정답 보기

정답: B) 숫자 2를 저장합니다

cube_size = 2cube_size라는 이름의 변수에 숫자 2를 저장합니다. 나중에 cube_size를 사용하면 2라는 값을 꺼낼 수 있습니다!


🔧 디버그 클리닉

문제: NameError: name 'cube_colour' is not defined

원인: 변수 이름 오타 (영국식 철자 사용)

해결: 정확한 변수 이름 사용

# ❌ 잘못된 코드
cube_color = color.red
Entity(color=cube_colour)  # 오타! colour vs color
# ✅ 올바른 코드
cube_color = color.red
Entity(color=cube_color)  # 정확한 이름!

문제: SyntaxError: invalid syntax

원인: 변수 이름에 공백이나 특수문자 사용

해결: 밑줄(_)로 단어 연결

# ❌ 잘못된 코드
cube size = 2      # 공백 사용!
cube-size = 2      # 하이픈 사용!
# ✅ 올바른 코드
cube_size = 2      # 밑줄 사용!
cubeSize = 2       # 카멜케이스도 OK

직접 코딩해보기

변수를 선언하고 사용하는 코드를 작성해보세요!

변수 선언하기

플레이어 이름과 점수를 변수에 저장하세요.

예시 답안
from ursina import *

app = Ursina()

player_name = "Hero"
player_score = 100

print(f"플레이어: {player_name}")
print(f"점수: {player_score}")

app.run()

결과: 콘솔에 "플레이어: Hero"와 "점수: 100"이 출력됩니다!


🧩 핵심 요약

이번 강의에서 배운 내용:

  • 변수: 값을 저장하는 이름표 붙은 상자
  • = 기호: 오른쪽 값을 왼쪽 변수에 저장
  • 문자열: 따옴표로 감싼 글자 ("Hello")
  • 숫자: 정수(2) 또는 실수(3.14)
  • 이름 규칙: 영문, 숫자, 밑줄만 사용 (숫자로 시작 불가)

복습 체크리스트

  • [ ] 변수가 무엇인지 설명할 수 있나요?
  • [ ] = 기호의 역할을 알고 있나요?
  • [ ] 올바른 변수 이름과 잘못된 변수 이름을 구분할 수 있나요?

다음 단계: D. Entity로 3D 큐브 만들기