본문 바로가기
Java & Kotlin/Kotlin

[Kotlin] 코틀린에서의 변수

by heekng 2022. 7. 5.
반응형

코틀린에서의 변수

변수 선언 키워드 - var과 val

Java

long number1 = 10L;
final long number2 = 10L;

Kotlin

var number1 = 10L // 변수
var number2: Long = 10L // 타입지정
val number3 = 10L // 상수

// Val cannot be reassigned, 값 변경이 불가능하다.
number3 = 30L

// 컴파일 에러 발생, 초기화가 필요하다.
var number3: Int
println(number3)
  • var: 변경 가능한 변수, variable
  • val: 변경 불가능한 상수, value
  • 타입지정은 변수명: 타입 형태로 작성한다.
  • TIP! 모든 변수는 우선 val로 만들고 꼭 필요한 경우에 var로 변경한다.
    • 코드가 깔끔해지고 디버깅이 쉬워지는 장점이 있다.

Primitive Type

Java

long number1 = 10L;
Long number2 = 1_000L;

Kotlin

var number1 = 10L
  • PrimitiveTypeReferenceType을 구분하지 않는다.
  • 즉, 프로그래머가 boxing / unboxing을 고려하지 않아도 되도록 Kotlin이 알아서 처리 해준다.

nullable 변수

Kotlin

var number1 = 10L
// Null can not be a value of a non-null type Long, null이 불가능하다.
number1 = null

var number2: Long? = 10L
number2 = null
  • 일반적인 변수에는 null이 불가능하다.
  • nullable 한 변수를 선언하고 싶다면 Type? 형태로 타입을 지정해준다.
    • 일반적인 변수와 Type?으로 타입을 지정해준 변수는 아예 다른 타입으로 간주된다.

객체 인스턴스화

Java

Person person = new Person("heekng");

Kotlin

var person = Person("heekng")
  • Java에서 객체 인스턴스화시 new를 붙이지만, 코틀린에서는 new를 붙이지 않아야 한다.
반응형