Menu
CoddyTech

지역 변수를 사용하는 이유는?

Coddy Lua 여정의 기초 섹션에 포함된 레슨. 90개 중 85번째.

이름 충돌 방지: 지역 변수의 가장 중요한 이점은 같은 이름을 가진 다른 변수를 실수로 덮어쓰는 것을 방지한다는 점입니다. 프로그램 전체에서 전역 변수를 사용하면 변수 이름을 실수로 재사용하여 변경하려고 하지 않았던 값을 바꾸기 쉽습니다.

score = 100  -- 플레이어의 점수

function countEnemies()
    score = 0  -- 이 함수에서만 사용할 카운터로 의도됨
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3: 플레이어의 점수가 덮어써졌습니다!

이 함수는 자체 카운터를 사용하려고 했지만, score가 전역 변수이기 때문에 대신 플레이어의 점수를 변경했습니다. local을 추가하면 함수 내부에만 존재하는 별도의 변수가 함수에 생깁니다.

function countEnemies()
    local score = 0  -- 이 함수 안에서만 사용되는 새 변수
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100: 전역 변수 score는 변경되지 않음

지역 변수를 사용하면 각 함수와 블록에 별도의 변수가 있으므로, 한 곳의 코드가 다른 곳에서 사용하는 값을 실수로 변경하지 않습니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Lua 컴파일러