[Kotlin] 변수 var / val

Yeon·2023년 7월 7일
0

Android

목록 보기
3/9
post-thumbnail

변수 선언 방법


키워드 Keyword

  • 변수 선언시 해당 변수가 변경 가능한지 여부를 결정하는 것으로 해당값은 필수 값
  • var (variable)
    • 자바의 변수와 같고, 값의 재할당이 가능 (Mutable)
    • 읽기/쓰기가 가능한 일반 변수
  • val (valuable)
    • 값의 재할당이 불가능 (Immutable), 재할당을 할 경우 에러
    • 읽기만 가능한 final 변수

변수 이름

  • 해당 변수 이름을 통해 개발자는 변수에 접근할 수 있음

변수 타입

  • 코틀린은 타입 추론(type inference)을 언어 차원에서 지원해주고 있음
  • 초기화 값이 있고 충분히 추론할 수 있는 값에 대해서는 변수 타입은 선택 사항!

초기화 값

  • 변수는 선언과 동시에 초기화 할 수 있음
  • 해당 값을 통해 변수 타입 추론이 이루어질 수 있음

1. 변수 선언과 동시에 값 넣기

  • 입력되는 값으로 타입 추론
  • 값이 입력되는 순간 해당 값의 형태로 변수의 타입이 결정
var name = "ars"    // 변수명 name에 문자열 "ars" 입력

2. 값으로 초기화하지 않고 선언만 하고 사용

var age: Int    // 변수명 age를 Int 타입으로 선언
age = 27        // 숫자 '27'을 입력
  • 위 두가지 예시로 최초 선언 시에 타입이 결정된다는 것을 예상할 수 있음
  • 변수는 한번 타입을 결정하면 동일한 타입의 값만 담을 수 있음
  • 만약 아래와 같이 Int 타입의 변수에 문자열 "스물일곱"를 입력하면 컴파일 에러가 발생함
var age: Int
age = 27

age = "스물다섯"    // (x) 선언했던 값의 타입과 다르기 때문에 입력X
age = 25           // (o) 선언했던 타입과 같은 숫자(Int)는 입력O

데이터 타입

구분데이터타입설명값의 범위 및 예
숫자형Double64비트 정수-1.7E+308의 근삿값 ~ 1.7E+308의 근삿값
Float32비트 정수-3.4E+38의 근삿값 ~ 3.4E+38의 근삿값
Long64비트 정수-2E63 ~ 2E63-1
Int32비트 정수-2,147,483,648 ~ 2,147,483,647
Short16비트 정수-32,768 ~ 32,767
Byte8비트 정수-128 ~ 127
문자형Char1개의 문자'글' (외따옴표)
String여러 개의 문자"여러 글자" (쌍따옴표)
불리언형Booleantrue, false 두가지 값true 또는 false

[참고 사이트]

"Variable", kotlin
"[kotlin] 코틀린 차곡차곡 - 1. 코틀린의 변수와 타입", 사바라다는 차곡차곡

0개의 댓글