스위프트는 데이터가 저장되는 메모리 내 주소 공간을 개발자가 쉽게 인식하고 사용할 수 있도록 변수와 상수를 제공한다.
예를 들어 연도를 의미하는 1995라는 숫자 데이터가 메모리 주소 0x12345678 ~ 0x1234567B까지에 걸쳐 저장되어 있다고 해보자
숫자 데이터를 꺼내어 사용할때마다 항상 이 주소값을 사용할 수는 없쥬??
그러기엔 주소값이 너무 길고, 16진수 숫자들로 되어 있어 외우기도 매우매우 어려움.
그래서 이 주소값을 "year"라는 이름으로 연결
"year"라는 단어를 특정 형식에 따라 사용하면 컴파일러는 내부에 저장된 메모리 주소록을 뒤져서
year라는 이름으로 연결된 0x12345678 ~ 0x1234567B까지의 주소를 확인하고
각각의 주소에 저장된 값을 읽어와 하나로 합친 1995라는 데이터를 만들어 준다.
이렇게 저장하거나 저장할 메모리 주소값을 이름으로 연결해 놓은 것을 변수와 상수라고 한다.
즉 우리는 변수와 상수를 이용하여 메모리 주소에 해당하는 공간에 손쉽게 값을 저장하거나 꺼낼 수 있단 말이쥬
이같은 과정 변수와 상수에 값을 저장한다라고 생각하면 됨
상수는 한번 저장된 값을 다른 값으로 변경 할 수 없고
변수는 필요에 따라 저장된 값을 몇 번이라도 다른 값으로 변경 가능
그래서 상수에는 변하지 않는 값을 저장하고
변수에는 프로그램의 실행에 따라 변하는 값을 저장한다.
변수는 처음 저장했던 값과 일치하는 타입에서만 값을 변경할 수 있다.
EX)처음 저장한 값이 문자열이었다면 변경한 값 역시 문자열뿐이다.
그러면 다 변수로 설정해 놓고 안바꾸면 되지 굳이 어렵게 왜 상수를 사용해야 하는 것일까??
성능이나 기타 다른 기술적 이점은 내버려두고 문제 삼지 않아도 , 프로그래밍 소스 관리 목적상 변하지 않는 값은 상수에
저장하는 것이 훨씬 효율적이기 때문이다. 이외에도 실수로 값이 변경되는 일도 막을 수 있고,
값의 성격이 명확히 분류되어 관리하기에도 용이하다.
TMI
어떨때 변수와 상수를 이용하는지 모르겠다면??
일단 변수로 작성해보자. 스위프트 2.0에서는 변수에 한번 할당된 이후로 소스 코드에서 변경되지 않은 값이
있을 경우 이를 상수로 바꾸도록 컴파일러가 조언을 해준다.
꼼꼼한 재은씨의 스위프트: 문법편을 공부하면서 막 적는 낙서장
'Swift랑 친해지기 > Swift 책보면서 정리해보기' 카테고리의 다른 글
Int - 기본자료형 (0) | 2022.01.11 |
---|---|
자료형 (0) | 2022.01.11 |
변수와 상수의 이름 정의하기 (0) | 2022.01.10 |
변수와 상수를 정의하는 방법 (0) | 2022.01.07 |
스위프트 기초 문법 (2) | 2022.01.07 |