[인터뷰질문 008] 왜 불변성(immutability)이 중요한가요?



불면성

변수의 종류에는 상수인 let과 변수인 var가 있습니다. 이 중에서 불변성을 가지는 변수는 let 키워드를 가지는 변수 입니다. 두 변수의 차이는 말 그대로 불변성 입니다. 변수 안에 들어있는 값을 수정할 수 있느냐 없느냐의 차이이죠.

그렇다면 수정할 수 없는 상수를 언제 써야할까요?

활용

  • 변수의 값이 변하지 않음을 보장합니다. 이 말은 코드를 볼 때 상수를 보고 그 안에 어떤 값이 있을지 쉽게 예측 할 수 있다는 말 입니다. 그래서 Xcode에서도 var로 변수를 선언하더라도, 그 안의 값이 변하지 않으면 let으로 바꿔 상수로 변경할 것을 제안합니다.
  • 멀티 쓰레드의 코드를 작성했을 때, 다른 곳에서 내가 짠 코드의 값을 변경하지 못하게 막을 수 있습니다.
  • 상수를 사용하면, 변수보다 데이터를 효율적인 방법으로 저장할 수 있습니다.

댓글

이 블로그의 인기 게시물

[IOS] AppDelegate는 뭐하는 녀석이지?

[git] git의 upstream과 origin 헷갈리는 사람 손!

[git] Github 이슈 라벨(issue labels)