반응형
1. 코틀린 특징
1.1 코틀린/JVM 컴파일과 실행
실행 버튼을 누르고 Run _.kt 파일을 선택하면 인텔리제이가 kotlinc-jvm 컴파일러를 사용해서 코틀린 코드를 *_컴파일** 한다.
즉, 우리의 코틀린 코드를 JVM 에서 실행 할 수 있는 바이트 코드로 변환한다는 뜻이다.
하지만 코틀린은 JVM 에만 국한되지 않는다. 코틀린은 자바스크립트로 컴파일 될 수 있으며,
JVM 없이 바로 실행되는 네이티브 바이너리로도 컴파일 될 수 있다.
1.2 코틀린 REPL
때에 따라서는 작은 코드를 실행 할 때 어떻게 되는지 테스트해 보고 싶을 때가 있다.
이것은 코틀린 언어를 배울 때 특히 유용하다. 다행스럽게도 인텔리제이는 파일을 생성하지 않고
코드를 빨리 테스트하는 도구를 제공한다. 이 도구를 코틀린 REPL 이라고 한다.
(한글은 안쳐진다.)
1.3 왜 인텔리제이를 사용할까?
코틀린 코드는 어떤 텍스트 편집기를 사용해도 작성 할 수 있다.
그러나 인텔리제이의 사용을 권장한다. 코틀린을 배울 때는 특히 그렇다.
- 문법이나 의미상으로 적합한 코드를 작성하게 해준다.
- 구문강조, 상황에 맞는 코드 제안, 자동 코드 완성
- 코드 실행 중 디버깅이 가능하다
- 중단점 사용과 여러가지 형태로 다음 코드 실행 가능
- 기존 코드의 리팩터링과 코드 형식 변경 등을 할 수 있다.
- 인텔리제이와 안드로이드 스튜디오는 단축키나 많은 사용부분을 공유한다.
- 그대로 써먹을 수 있다.
2. 변수, 상수, 타입
2.1 코틀린의 타입
- 코틀린의 타입은 Java 와 동일하게 존재한다.
- 다만, 기본(primitive) 타입이 아닌 참조(reference) 타입이 기본이다.
- 코틀린 컴파일러는 바이트코드로 변환시 Kotlin 의 참조(reference)타입을 Java 의 기본(primitive) 타입으로 변경한다.
- 종류
- Char
- String
- Byte
- Short
- Int
- Float
- Double
- Long
- Boolean
2.2 변수 선언
val str1: String = "string"
var int1: Int = 1
var float1: Float = 1f
const val FINAL1: Long = 1L
- 변수정의 키워드, 변수이름, 변수타입, 대입연산자, 대입값 순으로 변수를 선언해야 한다.
- 변수정의키워드: const, val, var
- 변수이름: str1, int1 FINAL1
- 변수타입: String, Int, Long
- 대입연산자: =
- 대입값: "string", 1, 1L
2.3 타입 추론 변수
var points = "5"
var points2 = 2
var points3 = 2f
var points4 = 2L
- var 키워드는 타입 추론 변수를 의미한다.
- compile 시점에 변수의 타입이 정해진다.
2.4 읽기 전용 변수
val readOnly = "123"
val readOnly2 = 123
val readOnly3 = 123f
val readOnly4 = 123L
- val 키워드는 읽기 전용 변수를 의미한다.
- 한번 값을 할당 후 변경할 수 없으며, 생성자 호출 시점에 할당하거나 컴파일시점에 할당 할 수도 있다.
- 변수 선언이후 할당 할 수 있으므로 엄밀히 따지면 상수가 아니다.
2.5 상수 변수
const val REAL_READ_ONLY_VALUE = "123"
const val REAL_READ_ONLY_VALUE2 = 123
const val REAL_READ_ONLY_VALUE3 = 123f
const val REAL_READ_ONLY_VALUE4 = 123L
- const 키워드를 이용하여 진정한의미의 상수를 선언할 수 있다.
- 값 변수선언 시점이 아닌 이후에 할당 할 수 없다.
반응형
'Develop > Kotlin' 카테고리의 다른 글
[Kotlin] File - mkdir(), mkdirs() 의 차이점 (0) | 2022.09.10 |
---|---|
[Kotlin] 3 - 함수 (0) | 2020.04.08 |
[Kotlin] 2 - 조건문과 조건식 (0) | 2020.04.08 |