본문 바로가기
iOS - Swift 문법

iOS Swift 강좌 : 변수(var)와 상수(let)

by chanfficial 2022. 1. 4.

변수 : var

  • 변수(variable)는 프로그램에서 사용될 데이터를 저장하기 위한 메모리 공간이다
  • 변수는 var 키워드를 이용하여 선언되며 변수를 생성할 때, 값을 가진 채 초기화가 가능하다
  • 변수에 할당된 값은 변경이 가능하다
  • 변수 명은 영문자, 숫자, Unicode도 사용 가능하다
    var num = 10 // : Int 생략
    print(num) // 10
    
    num = 5
    print(num) // 5

 

상수 : let

  • 상수(const)는 데이터 값을 저장하기 위하여 메모리 내의 명명된 공간을 제공한다는 점에서 변수와 비슷하다
  • 값이 한 번 할당되면 이후에 변경할 수 없다 -> 코드 내에서 반복적으로 사용되는 값이 있을 경우에 유용하다
  • 상수 명은 영문자, 숫자, Unicode도 가능하다
    let a = 2
    let b = 6
    
    print(a+b) // 8
    print(a-b) // -4​

 

타입 어노테이션(type annotation)과 타입 추론(type inference)

Swift는 타입 안전 프로그래밍 언어이므로 변수의 데이터 타입이 식별되면 그 변수는 다른 타입의 데이터를 저장하는 데 사용될 수 없다. 이러한 점에서 Swift는 변수가 선언된 후에도 다른 데이터 타입을 저장할 수 있는 느슨한 타입의 언어와 대조적이다.

 

상수와 변수를 식별하는 두 가지 방법

  1. 변수나 상수가 코드 내에서 선언되는 시점에 타입 어노테이션(type annotation)을 사용한다
    • 변수나 상수의 이름 다음에 타입을 선언을 둔다
    • Int 타입의 num이라는 이름의 변수를 선언하는 상황
      var num : Int = 10 // :Int가 type annotation​
    • 상수를 선언할 때도 타입 어노테이션을 사용하면 나중에 코드에서 값을 할당할 수 있다
      let category : String // type annotation
      var blog = true
      
      if blog {
      	category = "iOS"
      } else {
      	category = "python"
      }
      print(category) // iOS​
  2. 선언부에 타입 어노테이션이 없으면 Swift 컴파일러는 상수나 변수의 타입을 식별하기 위해 타입 추론(type inference)을 사용한다.
    • 해당 상수 또는 변수에 값이 할당되는 시점에서 그 값의 타입을 확인하고 그와 같은 타입처럼 사용한다
      var num = 12 // var num : Int = 12
      let name = "Chan" // let name : String = "chan"
      // num이라는 변수를 Int 타입으로 추론하고 name이라는 상수는 String 타입으로 추론​

 

정리한 내용은 유튜브 Smile Han님의 Swift 강좌 2-9를 참조하였습니다.

https://www.youtube.com/watch?v=jUYXpPJyJY4&list=PLJqaIeuL7nuFbWKMhG8-xLzF1T7gIPr8Z&index=18