IMCAT.DEV
로그인 가입
Swift 입문 문법

Swift 변수와 상수

Swift 변수와 상수 — 초급

변수와 상수

1. 도입 (왜 배워야 하는가)

변수와 상수는 프로그래밍의 기본적인 개념으로, 데이터를 저장하고 조작하는 데 필수적입니다. Swift를 포함한 대부분의 프로그래밍 언어에서 변수와 상수를 통해 다양한 값을 저장하고, 이를 기반으로 프로그램의 로직을 구성합니다. 만약 이 개념을 이해하지 못한다면, 데이터를 효과적으로 다룰 수 없어 프로그램의 기능을 구현하는 데 큰 어려움을 겪게 됩니다. 예를 들어, 사용자의 점수를 저장하고 업데이트하는 게임을 만든다고 할 때, 점수를 저장할 변수가 없다면 점수를 관리할 수 없게 됩니다.

2. 핵심 개념 설명

변수(Variable)

변수는 프로그램 실행 중에 값이 변경될 수 있는 메모리 공간을 의미합니다. 실생활에서의 비유는 "수조의 물"입니다. 물의 양은 언제든지 변할 수 있습니다.

상수(Constant)

상수는 프로그램 실행 중에 한 번만 설정할 수 있는 메모리 공간입니다. 실생활의 비유로 "고정된 주소"를 생각해 볼 수 있습니다. 주소는 바뀌지 않으며 항상 같은 위치를 가리킵니다.

용어정의
변수값이 변경 가능한 메모리 공간
상수값이 변경 불가능한 메모리 공간

3. 기본 코드 예제

var score = 0        // 'score'라는 이름의 변수를 선언하고 초기값을 0으로 설정
score = 10          // 'score' 변수의 값을 10으로 변경

let maximumScore = 100  // 'maximumScore'라는 이름의 상수를 선언하고 초기값을 100으로 설정
// maximumScore = 200   // 이 줄은 오류가 발생합니다. 상수는 값을 변경할 수 없습니다.

실행 결과:

print(score)          // 10
print(maximumScore)   // 100

코드 한 줄씩 동작 설명:

  1. var score = 0: score라는 이름의 변수를 선언하고, 초기값으로 0을 할당합니다.
  2. score = 10: score 변수의 값을 10으로 변경합니다.
  3. let maximumScore = 100: maximumScore라는 이름의 상수를 선언하고, 초기값으로 100을 할당합니다.
  4. 주석으로 표시된 줄은 상수이기 때문에 오류가 발생합니다.
  5. 4. 실전 활용 예제

    예제 1: 쇼핑몰에서 장바구니 구현

    var cartItems = 0      // 장바구니에 담긴 아이템 수를 저장하는 변수
    cartItems += 1        // 아이템 하나 추가

    이 코드에서 cartItems는 장바구니에 담긴 아이템의 수를 나타내며, 사용자가 아이템을 추가할 때마다 값을 변경합니다.

    예제 2: 사용자 프로필 생성

    let userName = "김철수"   // 사용자 이름을 저장하는 상수
    let userAge = 30         // 사용자 나이를 저장하는 변수
    userAge += 1             // 매년 나이를 증가

    상수인 userName은 한 번 설정하면 변하지 않으며, 변수인 userAge는 매년 증가할 수 있습니다.

    5. 흔한 실수와 주의사항

    실수 1: 상수에 값 재할당

    let pi = 3.14
    pi = 3.14159  // 오류 발생: 상수는 값을 변경할 수 없습니다.

    올바른 코드:

    let pi = 3.14  // 상수는 처음에만 값 설정

    실수 2: 변수와 상수 혼동

    var userName = "홍길동"
    userName = "김철수"  // 올바른 사용
    
    let userName = "홍길동"
    userName = "김철수"  // 오류 발생: 상수는 값을 변경할 수 없습니다.

    6. 정리

    • 변수는 값이 변경 가능하고, 상수는 한 번만 설정할 수 있습니다.
    • 변수를 사용하여 동적인 데이터를 관리하고, 상수를 사용하여 고정된 데이터를 관리합니다.
    • 실무에서는 변수와 상수를 적절히 활용하여 데이터의 변동성을 관리해야 합니다.

다음에 학습하면 좋은 주제: 데이터 타입 (Int, String, Array 등)