변수

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

A 변수는 값을 보유하는 이름입니다. 변수 값은 숫자, 문자열, 부울, 데이터 유형 등일 수 있습니다.

변수 이름

변수 이름은 숫자로 시작하지 않는 예약어가 아닌 문자, 숫자 및 밑줄의 조합일 수 있습니다.

LETTERS -- 유효
a1 -- 유효
var_name -- 유효
_test -- 유효
if -- 유효하지 않음
25th -- 유효하지 않음

변수 이름은 대소문자를 구분하므로 TestVarTESTVAR는 다른 이름입니다. _VERSION과 같이 밑줄과 모든 대문자로 변수를 이름 짓는 것은 피해야 합니다. Luau는 이를 내부 전역 변수로 예약할 수 있습니다.

모범 사례

단어를 완전히 철자하는 것이 모범 사례입니다. 약어는 일반적으로 코드를 작성하기 쉽게 만들지만 읽기 어렵게 만듭니다. 변수를 이름 짓는 데 일반적인 명명 관행을 따르면 여러분과 다른 사람들이 그 의미나 목적을 이해하는 데 도움이 될 수 있습니다:

  • 클래스 및 열거형과 유사한 객체에 대해 PascalCase 이름을 사용하세요.
  • 모든 Roblox API에 대해 PascalCase 이름을 사용하세요. camelCase API는 대부분 사용 중단되었습니다.
  • 지역 변수, 멤버 값 및 함수에 대해 camelCase 이름을 사용하세요.
  • 상수에 대해 LOUD_SNAKE_CASE 이름을 사용하세요. 예를 들어 const 값이나 변경되지 않을 것으로 예상되는 다른 값입니다.
  • 이름 내에서 전체 약어를 대문자로 작성하지 마세요. 예를 들어 aJsonVariable 또는 MakeHttpCall이라고 작성하세요.

예약된 이름

Luau는 다음 키워드를 예약하므로 이를 변수나 함수 이름으로 사용할 수 없습니다:

  • and
  • for
  • or
  • break
  • function
  • repeat
  • do
  • if
  • return
  • else
  • in
  • then
  • elseif
  • local
  • true
  • end
  • nil
  • until
  • false
  • not
  • while

값 할당

변수를 만들고 값 할당을 하려면 = 연산자를 사용하세요. =의 왼쪽에 변수를 두고 오른쪽에 값을 둡니다. 값을 지정하지 않으면 값은 nil입니다.

변수는 전역 또는 지역 범위를 가질 수 있습니다. 기본적으로 전역 범위를 가지지만, Luau는 지역 변수를 전역 변수보다 더 빠르게 접근하므로 지역 범위로 만드는 것이 거의 항상 더 좋습니다. 변수를 지역 범위로 만들려면 값을 할당할 때 변수 이름 앞에 local 키워드를 붙이세요. 지역 범위를 부여하고 재할당을 방지하려면 local 대신 const를 사용하세요. 자세한 내용은 범위를 참조하세요.

local nilVar
local x = 10
local word = "Hello"
local boolean = true
print(nilVar) -- nil
print(x) -- 10
print(word) -- Hello
print(boolean) -- true

여러 변수에 값 할당

각 변수-값 쌍을 쉼표로 구분하여 한 줄에 여러 변수에 값을 할당할 수 있습니다. 값보다 변수가 더 많으면 Luau는 추가 변수에 nil을 할당합니다. 값이 변수보다 더 많으면 Luau는 추가 값을 어떤 변수에도 할당하지 않습니다.

local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- 추가 변수
local g, h = 7, 8, 9 -- 추가 값
print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8

값 변경

변수의 값을 변경하려면 다른 값을 할당하세요.

local x, y = 10, 20
print(x) -- 10
print(y) -- 20
x = 1000
y = 2000
print(x) -- 1000
print(y) -- 2000

상수 변수

재할당할 수 없는 변수를 만들려면 local 대신 const를 사용하세요. const 변수를 재할당하려고 하면 오류가 발생합니다. 여기에는 +=와 같은 복합 할당 연산자도 포함됩니다.

const MAX_HEALTH = 100
MAX_HEALTH = 50 -- 오류: const 변수를 재할당할 수 없습니다
MAX_HEALTH += 1 -- 오류: const 변수를 재할당할 수 없습니다

local과 마찬가지로 const타입 주석을 허용합니다. 예: const MAX_HEALTH: number = 100.

함수를 const로 선언할 수도 있으며, 이는 함수 이름의 재할당을 방지합니다.

const function addOneAndTwo()
local result = 1 + 2
print(result)
end
addOneAndTwo = nil -- 오류: const 변수를 재할당할 수 없습니다

const는 변수를 불변으로 만들지만, 그 변수가 보유하는 값은 불변이 아닙니다. const 변수가 테이블을 보유하는 경우, 테이블의 내용을 여전히 변경할 수 있습니다. 내용을 불변으로 만들려면 table.freeze()를 사용하세요.

const SETTINGS = { volume = 0 }
SETTINGS.volume = 1 -- 괜찮음, 테이블 내부의 값을 변경합니다
SETTINGS = {} -- 오류: const 변수를 재할당할 수 없습니다

예약된 이름의 키워드와 달리 const는 문맥에 따라 다릅니다. Luau는 local이 유효한 곳에서만 이를 키워드로 취급하므로, const를 변수 이름으로 사용하는 기존 코드는 여전히 작동합니다.

local const = 1
print(const) -- 1
const = 2 -- 괜찮음, 여기서 `const`는 변수 이름입니다

자세한 정보와 엣지 케이스는 Luau 문서를 참조하세요.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.