[Swift] 변수와 상수, 데이터 타입, 타입 캐스팅

Eden·2025년 4월 30일

[Swift]

목록 보기
1/7
post-thumbnail

변수와 상수



변수(var) – 바뀔 수 있는 값

var는 말 그대로 “variable”, 변할 수 있는 값입니다.

var name = "Eden"
name = "Jay" // 가능

  • 선언 시 var 키워드를 사용합니다.
  • 한 번 값을 할당한 뒤에도 언제든지 다른 값으로 변경 가능합니다.
  • 주로 상태(state)를 표현할 때 자주 사용됩니다. 예를 들어, 로그인된 사용자 이름, 뷰의 현재 상태 등 계속 변할 수 있는 데이터에 적합합니다.

  • 실무에서 이렇게 씁니다

    var isLoggedIn = false
    
    // 사용자가 로그인하면
    isLoggedIn = true

    상수(let) – 바뀌지 않는 값

    let은 “constant”, 상수를 의미합니다. 한 번 할당하면 절대 바뀌지 않습니다.

    let birthYear = 1990
    birthYear = 1991 // 오류 발생!

  • 선언 시 let 키워드를 사용합니다.
  • 할당 이후 값 변경은 컴파일 타임에 오류가 납니다.
  • 의도적으로 변하지 않아야 하는 값은 무조건 let을 써야 합니다. 이게 코드를 더 안정적이고 예측 가능하게 만들어줍니다.

  • 실무에서 이렇게 씁니다

    let apiBaseURL = "https://api.myapp.com"

    API 주소, 앱 설정 값, 사용자 고정 정보 등 고정된 값을 다룰 때는 항상 let을 사용합니다.

    var vs let – 언제 뭘 써야 할까?

    Swift 개발자들이 많이 하는 실수 중 하나는 “일단 var 쓰고 본다”입니다.
    하지만 Swift는 가능하면 let을 쓰는 것을 권장합니다. 이유는 명확합니다.

  • let은 코드의 의도를 더 명확히 드러냅니다.
  • 불필요한 값 변경을 방지해 버그를 줄일 수 있습니다.
  • 컴파일 타임에 잘못된 변경을 체크할 수 있어 안정성이 올라갑니다.

  • 간단한 기준

  • 값이 바뀔 필요가 없다면 let
  • 정말로 바뀌어야 한다면 var

  • 🔍 정리

    키워드 의미 값 변경 가능 사용 시점
    let 상수 (constant) ❌ 안 됨 고정값, 안전하게 유지돼야 하는 값
    var 변수 (variable) ✅ 가능 상태 변경이 필요한 값

    Swift를 쓸 때는 “이 값은 변해야 하는가?“를 항상 먼저 생각해보고 let 또는 var를 결정하세요.
    무조건 var → 나중에 let으로 바꾸기가 아니라,
    무조건 let → 필요한 경우만 var로 바꾸는 습관을 가지면 코드 품질이 확실히 올라갑니다.

    Xcode Playground 과제 1



    데이터 타입


    Swift는 타입 세이프(type-safe) 언어이며, 모든 값은 명확한 타입을 가집니다. 아래는 자주 사용되는 기본 타입들입니다.

    ✅ Int (정수)

  • 정수 타입, 플랫폼에 따라 Int32 또는 Int64
  • 명시적 크기 필요 시 Int8, UInt16 등 사용
  • let age: Int = 30

    ✅ Double / Float (부동소수점)

  • Double: 64비트, 기본 부동소수점 타입 (정밀도 높음)
  • Float: 32비트, 가벼운 연산에 적합
  • let pi: Double = 3.14

    ✅ Bool (불리언)

  • 참/거짓 (true, false)
  • 옵셔널 Bool?과 구분 필요
  • let isReady: Bool = true

    ✅ String (문자열)

  • 유니코드 지원 문자열 타입
  • 문자열 보간 사용 가능:
  • let name = "이든"
    let message = "안녕하세요, \(name)님!"

    ✅ Character (문자 하나)

  • 한 글자만 표현할 때 사용
  • let grade: Character = "A"

    ✅ 타입 추론

  • 타입 생략 가능하지만, 명시하면 가독성과 안정성 증가
  • let count = 10       // Int
    let temp = 36.6      // Double

    🔍 정리

  • Swift는 타입이 명확한 언어
  • 실무에서는 정확한 타입 선택이 중요

  • Xcode Playground 과제 2



    데이터 타입 변환 (Type Casting)



    ✅ Swift에서 타입 변환은 (타입이름)을 사용한다

    Swift는 자동 타입 변환을 지원하지 않기 때문에, 개발자가 명시적으로 타입을 변환해야 합니다.

    이때 사용하는 문법은 아래와 같습니다:

    Double(정수값)
    Float(정수값)
    Int(실수값)

    즉, 변환하려는 타입 이름을 함수처럼 괄호로 감싸서 사용하는 것이 Swift의 기본적인 타입 변환 방식입니다.

    예시

    let intValue = 10
    
    let doubleValue = Double(intValue)  // → 10.0
    let floatValue = Float(intValue)    // → 10.0

    Xcode Playground 과제 3


    Xcode Playground 과제 4

    profile
    iOS Dev

    0개의 댓글