iOS Swift 기초 변수와 상수 var vs. let

변수(Variable)와 상수(Constant)

변수와 상수는 무엇일까요? 변수는 여러 가지 값으로 변할 수 있는 수를 말합니다. 그러면 상수는 무엇일까요? 변하지 않고 항상 같은 값을 가지는 수를 말한다. 이것이 사전적인 의미입니다. 그렇다면 소스 코드에서의 변수란 프로그램 실행 도중에 값이 변경될 수 있는 것을 의미합니다. 상수는 변하지 않고 항상 같은 값을 가지는 수를 의미하기 때문에 프로그램 실행 도중에 변경될 수 없겠죠.

var vs. let

swift를 접하게 되면 varlet을 접하게 됩니다. 저도 처음에 보고 생소하였는데요. swift에서는 var 키워드를 사용해서 만든 것을 변수(Variable)라고 하고 let 키워드를 사용해서 만든 것을 상수(Constant)라고 합니다. 

 

기본적으로 코드를 짤 때에는 변수를 선언을 합니다. 변수는 어떠한 값을 담을 수 있는 공간 혹은 박스라고 생각해주어도 되는데요. 기본적으로 비어있는 공간에 내가 원하는 값을 넣어 줄 수 있습니다. 이때에 var키워드를 이용해서 선언을 했을 경우에는 내가 만든 공간에 있는 값을 계속 변경을 할 수 있게 됩니다. 즉 Variable인 변수가 되는 것이죠.

 

let키워드를 이용해서 공간을 만든 경우에는 처음에 비어있는 공간에 내가 처음 입력 해준 값. 즉 초기화된 값으로 상수 화가 되어서 더 이상 변경을 할 수 없게 됩니다. 더 이상 변하지 않고 항상 같은 값을 지니기 때문에 상수인 것이죠.

 

var 키워드를 이용해서 선언한 박스의 경우 동그라미를 세모로 변경할 수 있지만 let키워드를 이용해서 선언한 박스의 경우 동그라미가 박스에 담기게 되고 나서는 동그라미를 빼고 세모를 채워 넣을 수 없게 됩니다.

 

let으로 선언한 Shapes에 "triangle"로 값을 넣어주려고 하니 에러가 발생합니다. 에러를 한 번 확인해 봅시다.

 

Cannot assign to value: 'Shapes' is a 'let' constant

할당을 할 수 없다고 하면서 상수 constant라고 알려주고 있습니다.

어떤 것을 주로 사용해야 할까?

언제 어떻게 어디에서 바뀔지 모르는 var 키워드 변수 variable 보다는 let 키워드를 이용해서 선언한 constant를 될 수 있으면 사용하는 게 좋습니다. 

그리드형(광고전용)

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band

댓글

Designed by JB FACTORY