Swift 상수와 변수는 무엇인가? - Swift

안녕하세요, 테디호프입니다. 
오늘은 Swift 초반에 배우는 상수와 변수에 대해서 알아봅니다.

이 글은 권장 구독자가 저인 글로...
엄청난 코딩 초보가 공부한 것을 정리하는 글입니다.

부족한 부분이 있을 수 있는데
지나가시다가 '이건 이런거야!' 생각이 드시는 고수분이 계시면 언제든 알려주세요 :)




상수와 변수 선언 (Declaring Contants and Variables) - Swift 공식 문서 발췌

상수와 변수는 사용하기 전에 반드시 선언이 되어야 합니다. 상수는 let 키워드와 함께 선언하고 변수는 var 키워드와 함께 선언합니다. 다음의 예제는 상수와 변수를 사용하여 어떻게 사용자 로그인 시도 횟수를 추적하는지를 보여줍니다:

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0

이 코드는 아래와 같이 읽을 수 있습니다:

"maximumNumberOfLoginAttempts 인 새로운 상수를 선언하고 10 이라는 값을 설정합니다. 그리고 currentLoginAttempt인 새로운 변수를 선언하고 0 이라는 값으로 초기화 하였습니다."







1. 상수(Constant)

고정된 수, 문자 등 
프로그램에서 상수는 나중에 변경될 수 없다.

가령 let animals = 2 라고 선언된 상수에 대해서 이후 animals = 3 으로 변경이 불가능합니다. 
선언된 상수를 변경하면 컴파일에서 에러를 띄웁니다.



2. 변수(Variables)

변하는 수, 문자 등
프로그램에서 변수는 나중에 변경할 수 있다.

가령 var flowers = 20 이라고 선언된 변수에 대해서 이후 floswers = 100 으로 변경이 가능합니다. 
변수는 말 그대로 언제든지 변할 수 있는 것입니다.



3. 상수와 변수는 왜 구분하는가?

결론적으로는 프로그램을 처리하는 효율 때문입니다.
예를 들면 '예측할 수 있는 고정된 것'과 '예측 할 수 없는 변하는 것' 으로 나눠서 처리하여 효율을 높입니다.

전자가 상수이고 후자가 변수입니다.
사과가 2개라면 이것을 담을 작은 박스만 있으면 되겠죠.

그런데 어떤 사물이 변하면서 예측을 할 수 없다면?
가령 사과가 2개였는데 추가로 구매해서 10개가 될 수 있다면?
작은 박스만으로는 안되고 큰 박스도 필요하게 될 것입니다.

앞선 예제에서 상수는 고정된 공간을 메모리 할당해주면 되는데
변수는 유동적인 공간을 고려하여 메모리 할당이 더 늘어날 것입니다.
메모리는 유한한 자원이기 때문에 무한정으로 갖다 쓸 수가 없기에
효율을 고려한다면 더 좋은 개발자가 될 수 있겠죠?


오늘은 상수와 변수에 대해 알아보았습니다.
뭔가 고정된 것은 접근하기가 쉽고 빠르고 유동적인 것은 접근이 더 느려지지 않을까?
이런 생각도 드는데... 이것도 나중에 찾아서 추가해보는 것으로 ( ..)
오늘 정리는 여기까지(!) 입니다. 


테디호프 드림




덧글

댓글 입력 영역