본문 바로가기

Kotlin

Kotlin - 변수, 문자열 템플릿,

728x90

변수

코틀린 변수는 반드시 var, val로 시작합니다.  둘의 차이는 immutable type인지 mutable type인지의 차이입니다.

val로 지정된 변수의 값을 변경하려하면, compile error가 납니다. java의 final과 같은 개념으로 생각하면 됩니다.

fun main() {
    var x = 1
    val y = 1
    
    x = 2
    y = 2	<- compile error가 발생합니다.
}

 

 

 

문자열 템플릿

코틀린은 '$'를 이용해 문자열을 다룰 수 있습니다. 

    val name = "Goni"
    println("Name : $name")
    println("Name : ${if (name.equals("Goni")) "Goni" else "kotlin" }")

 

Property

프로퍼티란 멤버변수(Class에 선언된 변수)와 이것의 getter, setter를 의미하는데, 코틀린에서는 멤버 변수를 선언하면, 그에 따른 getter, setter를 컴파일러가 생성해줍니다.

class Study (   
    val name: String,	//getter만 생성된다.
    var isStudied: Boolean	//setter, getter 모두 생성된다.
    ) 
fun main() {
	// 각각 getter를 호출한다.
    val study = Study("Goni", true)	
    println("${study.name}, ${study.isStudied}")
}

 

Custom property

만약 직접 getter와 setter를 구현하고 싶다면, get(), set() 메서드를 이용하면 됩니다. 

class MyName (val firstname: String, var lastname: String) {
    val fullname: String
    get() {
        return firstname + lastname
    }
}
fun main() {
    // 각각 getter를 호출한다.
    val mname = MyName("Go", "ni")
    println("${mname.fullname}")
}

 

Directory과 package

 

코틀린에서는 여러 클래스를 한 파일에 넣을 수 있습니다.

파일 이름을 자유롭게 정할 수 있습니다.

 

하지만 자바에선

Directory 구조와 package 구조는 동일합니다.

class의 이름이 java 파일의 이름과 동일해야 합니다.

기본적으로 class에 하나의 class만 만들도록 되어있습니다.

 

'Kotlin' 카테고리의 다른 글

Kotlin : lateinit (property, Field, 지역변수)  (0) 2021.06.08
Kotlin Scope Function(apply, with, let, also, run)  (0) 2021.06.06
Kotlin의 Null Safe  (0) 2021.06.06
Kotlin이란 (for, while, when문)  (0) 2021.06.06
Kotlin이란  (0) 2021.02.07