묠니르묘묘
꾸준히 성장하는 개발자스토리
묠니르묘묘
전체 방문자
오늘
어제
  • 분류 전체보기 (188)
    • 프로그래밍 (48)
      • 디자인패턴 (4)
      • 예외,에러 (4)
      • Java (29)
      • Kotlin (3)
      • React.js (4)
      • JavaScript (2)
      • Apache Kafka (2)
    • Spring (49)
      • Spring (21)
      • Spring Cloud (3)
      • JPA (25)
    • 코딩테스트 (31)
      • 알고리즘 (5)
      • Java - 백준 (26)
      • Java - 프로그래머스 (0)
    • AWS (7)
    • 데이터베이스 (6)
    • 개발 etc (23)
    • 도서 (5)
    • 회고록 (4)
    • 데브코스-데이터엔지니어링 (15)

인기 글

최근 글

hELLO · Designed By 정상우.
묠니르묘묘

꾸준히 성장하는 개발자스토리

프로그래밍/Kotlin

Kotlin(코틀린) - var 와 val

2022. 5. 31. 19:08

https://kotlinlang.org/docs/basic-syntax.html#variables

 

Basic syntax | Kotlin

 

kotlinlang.org

 

코틀린을 시작하면 기본적으로 사용하는 타입이 있다.

바로 var 와 val 이다.

 

Variables (변수)

variables를 뜻하는 var는 여러 번 값 할당이 가능하다.

 

Values (값)

values를 뜻하는 val은 이름 그대로 한 번만 값 할당이 가능하다.

 

 

이렇게 외우면 편하지만 공식문서에서는 다음과 같이 정의한다.

val은 읽기 전용 지역 변수로 한 번만 값 할당이 가능하다.
val a: Int = 1 // 즉시 할당 , immediate assignment
val b = 2 // 'Int' 타입 추론하여 넣음 , 'Int' type is inferred
val c: Int // 초기화가 제공되지 않은 경우 타입이 필요함 , Type required when no initializer is provided
c = 3 // 지연 할당 , deferred assignment

초기화라는 말이 이상할 수 있는데, 이것은 "변수를 만들고 값을 할당한다" 라고 생각하면 된다.

그래서 위 코드에서 변수 c 를 보면 초기화가 제공되지 않았으므로 타입이 필요하다고 적혀져 있다.

따라서 변수 c에는 명시적으로 Int 를 적어놓은 것이다.

 

 

var 키워드는 val과 달리 재할당이 가능하다
var x = 5 // 'Int' 타입이 추론됨
x += 1 // x 값에 재할당 가능

x에 5를 할당해주었다. 그 후 기존의 x값에 1을 더하여 다시 값을 할당해주었다.

이렇게 val과 달리 var는 여러가지 값을 넣을 수 있다.

 

 

 

결론

val은 읽기 전용으로 재할당이 불가능하므로 상수 라고 생각하면 편하다.

var은 재할당이 가능하므로 변수 라고 생각하자.

저작자표시 비영리 (새창열림)

'프로그래밍 > Kotlin' 카테고리의 다른 글

Kotlin(코틀린) - Inheritance(상속)  (0) 2022.04.05
Kotlin(코틀린) - Classes(클래스), Constructor(생성자)  (0) 2022.03.31
    '프로그래밍/Kotlin' 카테고리의 다른 글
    • Kotlin(코틀린) - Inheritance(상속)
    • Kotlin(코틀린) - Classes(클래스), Constructor(생성자)
    묠니르묘묘
    묠니르묘묘

    티스토리툴바