Learning
레슨 4 / 8·20분

변수와 함수 블록

변수 블록 심화

변수(Variables) 블록은 데이터를 저장하고 관리하는 핵심 요소입니다. Blockly에서 변수를 생성하면 자동으로 set(설정), get(가져오기), change(변경) 블록이 만들어집니다. 변수의 스코프와 타입을 이해하면 더 효과적인 프로그램을 만들 수 있습니다.

javascript
// [변수 설정 블록] — 다양한 타입의 변수
var playerName = "용사";
var playerHP = 100;
var isAlive = true;
var inventory = ["검", "방패", "포션"];

// [변수 변경 블록] — 값 증감
playerHP = playerHP - 20;
window.alert("현재 HP: " + playerHP);  // 80

// [변수 가져오기 블록] + [조건 블록]
if (playerHP <= 0) {
  isAlive = false;
  window.alert(playerName + " 쓰러졌다!");
} else {
  window.alert(playerName + " 생존 중! HP: " + playerHP);
}

함수 블록 심화 — 매개변수와 반환값

javascript
// [함수 정의 블록] — 매개변수 없는 함수
function showStatus() {
  window.alert("이름: " + playerName);
  window.alert("HP: " + playerHP);
  window.alert("생존: " + isAlive);
}

// [함수 정의 블록] — 매개변수가 있는 함수
function attack(target, damage) {
  window.alert(playerName + "이(가) " + target + "을 공격!");
  return damage + Math.floor(Math.random() * 5);
}

// [함수 호출 블록]
showStatus();
var totalDamage = attack("슬라임", 15);
window.alert("데미지: " + totalDamage);

변수 스코프 이해

javascript
// 전역 변수 — 어디서든 접근 가능
var globalScore = 0;

function addScore(points) {
  // 지역 변수 — 함수 안에서만 존재
  var bonus = points * 2;
  globalScore = globalScore + bonus;
}

addScore(10);
window.alert("점수: " + globalScore);  // 20

addScore(5);
window.alert("점수: " + globalScore);  // 30

// 반복문 내 변수
var total = 0;
for (var i = 1; i <= 10; i++) {
  total = total + i;
}
window.alert("1~10 합계: " + total);  // 55
  • 변수 설정(Set) 블록 — 변수에 값 저장
  • 변수 가져오기(Get) 블록 — 저장된 값 읽기
  • 변수 변경(Change) 블록 — 숫자 값 증감
  • 함수 정의 블록 — 재사용 가능한 코드 묶음
  • 함수 호출 블록 — 정의된 함수 실행
  • 반환(Return) 블록 — 함수에서 값 돌려주기
💡

변수 이름은 역할을 명확히 나타내도록 지어주세요. "x" 대신 "playerHP"처럼 의미 있는 이름을 사용하면 블록 코드를 읽기 쉬워집니다. 이 습관은 텍스트 코딩에서도 매우 중요합니다.