본문 바로가기
카테고리 없음

1. 변수와 상수

by swifttt 2025. 3. 27.

Swift는 안정성과 명확성을 중시하는 언어입니다. 변수(var)와 상수(let)는 Swift에서 값을 저장하는 가장 기본적인 방법으로, 올바르게 사용하면 코드의 예측 가능성과 안정성을 높일 수 있습니다.

1. 변수(var)란?

변수는 값이 바뀔 수 있는 저장 공간입니다. 프로그램을 작성할 때 사용자 입력이나 계산 결과를 저장할 때 자주 사용합니다.

var userName = "Alice"
userName = "Bob"  // 값 변경 가능

위 코드처럼 var로 선언된 변수는 나중에 값을 변경할 수 있습니다.

 

2. 상수(let)란?

상수는 한 번 정의하면 변경할 수 없는 값을 의미합니다. 프로그램 실행 중 바뀌지 않아야 하는 데이터는 let으로 선언하는 것이 안전합니다.

let birthYear = 1995
// birthYear = 2000  // ❌ 오류 발생

이처럼 let을 사용하면 실수로 값을 변경하는 것을 방지할 수 있습니다.

 

3. 예제: 회원 가입 정보 설정

let userID = "swift123"     // 고정된 사용자 ID
var nickname = "코딩고수"    // 사용자가 변경 가능한 닉네임

nickname = "iOS개발자"

이 예제에서 userID는 절대 바뀌지 않는 값이므로 let으로 선언하고, nickname은 변경 가능성이 있으므로 var로 선언합니다.

 

4. var를 남발하면 생기는 문제

변수는 너무 많이 사용하거나, 불필요하게 값을 변경하는 데 사용하면 코드의 흐름을 파악하기 어렵고 디버깅이 복잡해질 수 있습니다.

var price = 10000
price = price + 5000
price = price - 3000
price = 0

이처럼 복잡하게 바뀌는 값은 나중에 코드를 읽는 사람에게 혼란을 줄 수 있습니다. 가능하면 변경이 필요 없는 값은 let으로 선언하는 것이 좋습니다.

 

5. Swift가 let을 권장하는 이유

Swift는 기본적으로 불변성(immutability)을 중시하는 언어입니다. 값이 변경되지 않는다고 컴파일러가 인식하면, 코드 최적화나 스레드 안전성 측면에서도 유리합니다.

let pi = 3.141592

이 값은 변경되지 않기 때문에, Swift는 이를 바탕으로 더 최적화된 실행 코드를 생성할 수 있습니다.

 

6. 정리

키워드 의미 값 변경 가능 여부 사용 예시
let 상수 (constant) ❌ 불가능 사용자 ID, 설정값 등
var 변수 (variable) ✅ 가능 점수, 위치, 닉네임 등

 

✅ 마무리 Tip

  • 기본적으로는 let을 우선 사용하고, 정말 필요한 경우에만 var를 사용하십시오.
  • 불변 값은 코드의 예측 가능성을 높이며, 팀 협업 시 유지 보수를 더 쉽게 만들어줍니다.
  • Swift에서는 "값은 바뀌는 것이 예외"라는 철학을 기억하는 것이 좋습니다.