[개발일기] 22-06-09

오늘·2022년 6월 9일
0

[개발일기]

목록 보기
48/199

📝 간단하게 쓰는 개발일기

함수형 코틀린

책의 3장을 시작했다. 불변성이란 무엇인지, var, val, const val의 차이에 대해 알게 되었다.

정리

  • 불변성이란 사전적 정의로 변하지 않는 것을 의미하고, 불변 변수는 말 그대로 변하지 않는 변수이다.
  • 불변성을 통해 스레드 안전(thread safe)을 보장할 수 있다.
  • Kotlin은 다른 함수형 프로그래밍 언어처럼 불변성이 강제되는 언어는 아니고, 불변성을 권장하는 언어이다.
  • var은 다른 프로그래밍 언어의 변수와 같다.
  • val은 "읽기 전용" 변수로, 초기화된 이후 수정할 수 없다.
  • val이 불변성을 강제하지는 않는다. val을 커스텀 getter와 함께 사용하면 val로 선언되었어도 호출할 때 마다 변경될 수 있다.
  • 대신 const val을 사용하면 불변성을 강제할 수 있다. const val은 컴파일 타임 상수로, class나 object의 최상위 멤버여야 한다.
  • val은 어떤 타입이든 될 수 있지만, const val은 primitive type과 String만이 가능하다.
profile
Junior Mobile 개발자

0개의 댓글