본문 바로가기

공부 자료/코틀린[Kotlin]

[Atomic 04] var & val

 

코틀린에서 식별자는 어떻게??

 

 

출력을 배웠다면, 그 다음은? 당연히 어떻게 식별자를 사용하는지 일 것이다!

(언어를 하나라도 배웠다면 당연한 수순!)

자바에서는 정수 / 문자열 / 상수 등 다양한 형태의 데이터에 따라 식별자를 정의하는 방법이 달랐는데,

이가 코틀린에서는 어떻게 바뀌었을까?

 

 


 

 

[ 식별사 ]

1) var : 변할 수 있는 수  

2) val : 변할 수 없는

 

*아래에서 더 정확히 설명


 

[ 가변의 수 var ]

 

var 식별자 = 초기화

// ex)
var whole = "kotlin";
whole = "kotlin is good"; // 변경 가능

 

- 변할 수 있는 수인 variable의 약자

- 한 번 초기화 된 다음 변경이 가능

- 가변

 


 

[ 불변의 수 val ]

 

 

val 식별자 = 초기화

// ex) 
val whole = "kotlin";
whole = "kotlin is bad"; // 오류 - 변경 불가

 

- 값인 value의 약자

- 값은 변할 수 없음

- 불변

 


 

[ 식별자의 명명 규칙 ]

 

 

코틀린에서는 데이터의 형태에 따라 선언이 바뀌는 것이 아닌 모든 데이터를 동일하게 var / val 로 나타낼 수 있는데,

그렇다면 어떤 규칙을 가지고 있는지 살펴보고자 한다.

 

1) 시작은 유니코드 문자 또는 밑줄

2) 두 번째 글자부터는 유니코드 문자, 밑줄, 숫자 중 어느것이던 상관 없음

3) 대소문자 여부 구분 가능

 

ex) 'ai', 'a77', 'a_1', '_ab'

 

 


 

코틀린에서는 var / val 중 어느것을 많이 사용할까?

 

 

var에 저장한 값을 변경하는 방식은 변화를 표현할 때 유용하지만,

코틀린에서는 프로그램이 복잡하면 복잡해질수록, 변화하지 않은 값을 표현해야 코드가 더 명확하고 안전하며 이해하기 쉬워진다.

그렇기에 var 보다는 val을 사용하는 것이 유용하며, val과 친해지면 var이 필요하지 않고, 프로그램의 안전성과 신뢰성이 높아진다는 사실을 알 수 있을 것이다.

 

 


 

 

[ 오늘의 학습 소감 ]

 

오늘은 코틀린에서 식별자를 선언할 때 어떻게 선언하고 사용하는지에 대해 학습을 진행했는데, 코틀린에서는 가변 / 불변만을 나누며 이를 var / val로 표현한다는 사실을 알게 되었다. 자바에서 학습할 때에는 데이터 타입에 따라 다양한 방식으로 식별자를 선언하였는데, 이를 비교하면 확실히 간략화 된 것을 알 수 있었다.

(그리고 역시 오늘도 JS가 떠오르는 학습 시간이었다... JS에서도 var이 존재하며 이를 보완하기 위해 가변/불변에 따른 let/const 라는 선언 방식이 존재하기 때문!)

 

 

'공부 자료 > 코틀린[Kotlin]' 카테고리의 다른 글

[Atomic 07] if 식  (0) 2024.01.06
[Atomic 06] 함수  (0) 2024.01.05
[Atomic 05] 데이터 타입  (0) 2024.01.04
[Atomic 03] Hello, World!  (3) 2024.01.02
[Atomic 01~02] 왜 코틀린인가?  (1) 2024.01.01