코틀린의 변수 선언 기본형태

var/val 변수명: 변수타입 = 초기화

ex) var name: String = "name"


Java와 비교해보면

변수타입 변수명 = 초기화;

ex) String name = "name";


Java나 기타 다른 프로그래밍 언어를 접해봤다면 변수 선언 문법만 생소할 뿐 변수타입은 기존 언어와 별반 차이가 없어서 쉽게 사용할 수 있습니다.


var / val 키워드

생소한 부분 역시 아래 var/val 키워드 일 것입니다.

var = variable = 읽기/쓰기가 가능한 일반 변수

val = valuable = 읽기만 가능한 final 변수 

이 역시 Java의 final 변수에 대한 개념을 알면 금방 이해할 수 있습니다.


Non-Null / Nullable

특이한점은 코틀린에서는 Non-null 타입Nullable 타입이 존재합니다.

null을 값으로 가질 수 있으면 Nullable, 그렇지 않으면 Non-null 타입입니다.

var name: String = null // 에러 

얼핏 보면 이상할 것이 없는 위 코드는 에러가 발생합니다.

그 이유는 해당 String 변수는 Non-null 타입이기 때문입니다.


Nullable로 선언하는 방법

 var name: String? = null

Nullable String 변수를 선언하려면 위와 같이 ? 를 꼭 붙여야 합니다.



변수 출력하는 방법

코틀린

 println("텍스트 $변수")


Java

 System.out.println("텍스트 " + 변수);

$를 출력하고 싶으면 $$로 하면 되겠죠?


이제 변수 선언하는 방법을 알기 때문에 변수 타입을 Int, Long 등으로 변형해서 다양하게 사용할 수 있습니다.

 class ExampleUnitTest {

@Test
fun kotlin() {
var language: String = "Kotlin" // Java => String language = "Kotlin";
var version = "1.1.51" // 자동 유추 : String
var chapter = 1 // 자동 유추 : Int

// var empty: String = null // Non-null 타입은 null을 값으로 가질 수 없음
var empty: String? = null // null 타입으로 선언하기 위한 키워드로 물음표 사용
empty = "ABC"
empty.length // 가능
empty?.length // 안전

var empty2: String? = null // null 타입으로 선언하기 위한 키워드로 물음표 사용
empty2?.length // null check

var empty3: String? = "ABC" // null 타입으로 선언하기 위한 키워드로 물음표 사용
empty3?.length // null check

val ch10 = 10 // Java => final int ch10 = 10;
val WIFI_STATE: String = "WIFI_STATE" // final String WIFI_STATE = "WIFI_STATE";

println("language $language") // System.out.println("language " + language);
println("version $version")
}


코틀린을 공부해보려고 Android Studio 3.0.1로 업데이트를 했는데 처음부터 Layout Preview가 정상적으로 보이지 않는 문제가 있었습니다. 바로 구글링...

결론은 font.xml을 바꾸니 되네요. 예전에 한글 출력이 안되는 문제 때문에 font.xml 수정했던게 문제가 되었나봅니다.


fonts.xml

초기 기본 font.xml을 공유해드립니다.

아래 예시 경로에 fonts.xml을 위 파일로 교체하시면 정상적으로 동작합니다.

경로 예시) C:\Program Files\Android\Android Studio\plugins\android\lib\layoutlib\data\fonts\fonts.xml


+ Recent posts