Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

Jupyo's Daily Story

변수(Variable)와 상수(Constant) 본문

Swift

변수(Variable)와 상수(Constant)

JangJupyo 2024. 9. 18. 20:28
728x90
반응형

변수(Variable)상수(Constant)는 데이터를 저장하는 중요한 개념입니다. 이 둘은 코드에서 다루는 값들을 메모리에 저장하고, 그 값들을 필요할 때 참조하거나 변경할 수 있게 해줍니다. Swift에서는 변수와 상수를 각각 var let 키워드를 사용해 선언합니다.

 

변수(var)

변수는 저장된 값을 변경할 수 있는 저장소입니다. 한 번 선언된 변수의 값을 이후에 다른 값으로 수정할 수 있습니다.

 

선언과 사용 예시

var message = "Hello, World!"
message = "Hellow, Swift!"	// 값 변경 가능
  • var 키워드로 변수를 선언하고, 이후 변수에 다른 값을 할당할 수 있습니다.
  • 변수를 선언할 때 타입을 명시적으로 지정할 수도 있습니다.
var count: Int = 10
count = 20	// 값 변경 가능

 

특징

  • 변경 가능성: 선언한 후 언제든지 값을 변경할 수 있습니다.
  • 타입 추론: Swift는 변수에 할당된 값에 따라 자동으로 타입을 추론합니다. 명시적으로 타입을 지정하지 않으면, Swift는 처음 할당된 값의 타입을 기준으로 추론합니다.

 

예시

var age = 25	// Int로 추론됨
age = 26	// 값을 26으로 변경

 

 

상수(let)

상수는 한 번 값을 설정하면 그 값을 변경할 수 없는 저장소입니다. 즉, 상수는 선언할 때 값을 할당하고, 이후에는 해당 값을 수정할 수 없습니다.

 

선언과 사용 예시

let pi =3.14159
pi = 3.14	// 오류 발생: 상수는 변경할 수 없음
  • let 키워드로 상수를 선언하며, 상수는 반드시 한 번 초기화되어야 하고, 그 이후에는 값을 변경할 수 없습니다.
  • 상수도 변수와 마차가지로 타입을 명시적으로 지정할 수 있습니다.

 

특징

  • 변경 불가능성: 상수는 한 번 값을 설정하면 수정할 수 없습니다. 코드에서 변하지 않는 값을 사용할 때 유용합니다.
  • 타입 추론: 상수도 변수처럼 초기 값에 따라 타입이 자동으로 추론됩니다. 물론 명시적으로 타입을 지정할 수도 있습니다.

 

예시

let yearOfBirth = 1990	// Int로 추론됨
yearOfBirth = 1991	// 오류 발생: 상수는 변경할 수 없음

 

변수와 상수의 차이점

특징 변수(var) 상수(let)
값 변경 가능 불가능
선언 시 초기화 초기화를 하지 않아도 됨 반드시 선언 시 초기화 필요
용도 값이 변할 가능성이 있는 경우 사용 변하지 않는 값을 사용할 때 사용

 

변수와 상수 사용 시기

  • 변수(var): 값이 프로그램의 흐름에 따라 바뀔 수 있는 경우, 예를 들어 사용자의 입력 값, 반복문에서의 값 변경 등이 있을 때 사용합니다.
  • 상수(let): 변하지 않는 값, 예를 들어 원주율(pi)나 변하지 않는 설정 값, 프로그램에서 고정된 데이터 등을 처리할 때 상수를 사용합니다.

 

타입 명시와 타입 추론

Swift는 타입 추론을 사용하여 값을 선언할 때 명시적인 타입을 지정하지 않아도, 할당된 값을 통해 변수나 상수의 타입을 자동으로 결정합니다. 하지만, 필요에 따라 명시적으로 타입을 지정할 수도 있습니다.

 

타입 추론

var city = "Seoul"	// String으로 추론

 

 

타입 명시

let population: Int = 1000000

 

 

지연 초기화(lazy)

상수는 선언 시 반드시 초기화되어야 하지만, 변수는 지연 초기화(lazy)를 통해 나중에 값을 설정할 수 있습니다. lazy var로 선언된 변수는 처음으로 접근할 때 값을 초기화합니다.

class LazyExample {
	lazy var data: String = "Loaded data"	// 접근 시 초기화됨
}

let example = LazyExample()	// data에 처음 접근하기 전에는 초기화되지 않음
print(example.data)	// 이 시점에 값이 설정됨

 

 

결론

  • 변수(var)는 값이 변경될 수 있는 데이터를 저장할 때 사용합니다.
  • 상수(let)는 변하지 않는 데이터를 저장할 때 사용합니다.
  • Swift에서는 변수와 상수를 적절히 사용해 코드의 가독성을 높이고, 불변성을 보장할 수 있습니다. 불필요한 값 변경을 방지하고자 할 때는 항상 상수를 사용하는 것이 좋습니다.
반응형

'Swift' 카테고리의 다른 글

옵셔널 (Optional)  (2) 2024.09.22
열거형 (Enumeration)  (0) 2024.09.19
이진수(binary number)  (0) 2024.09.05
백그라운드 Playback  (0) 2024.02.20
lazy  (2) 2022.11.24