본문 바로가기
Kotlin

변수를 다루는 방법

by oncerun 2022. 11. 26.
반응형

var와 val의 차이점

 

- var : 변경 가능

- val : 변경 불가능

 

자바 코드

long number1 = 10L; // (1)
final long number2 = 10L; // (2)

코틀린

fun main() {

    var num = 10L
    num = 5L

    val num2 = 10L

}

 

var를 통해 변경 가능 한 변수를 선언하고 val을 통해 상수를 만든다. 

(세미콜론 없는거 적응 안 됨)

 

코틀린은 모든 변수에 수정 가능 여부(var /val)를 명시해주어야 한다.

 

왜 타입이 없지? 

 

코틀린은 타입을 컴파일러가 추론해준다. 원한다면 별도의 타입을 선언할 수 있다.

var num: Long = 10L

 

초기값이 없는 경우에는?

 

var num : Long

val num2 : Long

컴파일러가 타입을 추론할 수 있게 타입을 명시적으로 적어주어야 한다.

 

val 같은 경우에 초기화되지 않는 경우 최초 1번 값을 넣을 수 있다.

 

Tip

모든 변수는 우선 val로 만들고 꼭  필요한 경우 var로 변경한다.

 

 

kotlin에서의 primitive Type

 

코틀린에서는 문자, 불리언, 숫자 타입에 대해선 자동으로 클래스 타입으로 보이지만 상황에 따라 기본 타입을 사용한다. 

따라서 boxing과 unboxing을 고려하지 않아도 된다.

 

 

nullable 변수

 

자바에서 Long은 Reference 타입으로 null이 들어갈 수 있다. 그럼 코틀린에서는 어떻게 처리할까?

 

에러가 발생한다. 코틀린은 기본적으로 모든 변수를 null이 들어갈 수 없게 설계했다. 

 

만약 null이 변수에 들어갈 수 있다면 "타입?"를 사용해야 한다.

 

 

객체 인스턴스화

 

var person = Person("onceRun")

 

코틀린에서는 객체 인스턴스화 시 new키워드를 붙여서는 안 된다.

 

반응형

'Kotlin' 카테고리의 다른 글

조건문  (0) 2022.11.30
연산자  (0) 2022.11.27
Type  (0) 2022.11.27
kotlin에서 null  (0) 2022.11.26
kotlin 간단 소개  (0) 2022.11.26

댓글