본문 바로가기

Kotlin

[Kotlin] Kotlin이란?

Kotlin

  • Jetbrains 사에서 만든 언어로 IntelliJ에 완벽 호환된다.
  • Java에 비해 문법이 간결하기 때문에, 가독성과 생산성이 높고 오류 가능성이 적어진다.
  • Java와 상호 운용이 가능하기 때문에 기존 자바 프로젝트에 쉽게 적용할 수 있고, Java로 작성된 오픈 소스를 그대로 사용할 수 있다.
  • Java와 성능 차이가 크지 않다.
  • 멀티 플랫폼 언어로써, 서버와 모바일 앱 및 프론트 등 모든 분야에서 사용 가능하다.
  • 2017년부터 구글에서 공식 지원 언어로 선정되었다.

Kotlin의 문법적 장점

  • data class 생성 시, 자동으로 equals(), hashCode(), toString() 등 유용한 함수를 자동으로 생성해 준다.
  • object 키워드를 사용하여 싱글톤 객체를 생성할 수 있다.
  • Top-Level 함수로써 클래스 외부에서 함수 작성이 가능하다.
  • new 키워드 없이 객체 생성이 가능하다.
  • NullPointerException Checking 지원 -> 컴파일 시점에서 검사를 통해 Null 오류를 방지한다.
  • val 키워드로 불변 변수를 선언할 수 있다.
  • 백틱으로 띄어쓰기가 가능하다.
  • Checked Exception을 강제하지 않는다.
  • 세미콜론(;)을 강제하지 않는다.
  • 비동기-논블로킹 방식을 선언형으로 구현하기 위한 Coroutines을 지원한다.
  • 정적 타입 지정 언어로 객체의 필드나 메서드를 사용할 때마다 컴파일러가 타입을 검증한다.
  • 타입 추론 기능을 제공하여, 프로그래머가 타입 선언을 생략해도 된다.

Kotlin 코드 컴파일 과정

* Kotiln과 Java는 서로 다른 Compiler에 의해서 컴파일 된다.
* Kotiln Compiler로 컴파일된 코드는 Kotiln Runtime Library에 의존하는데, 해당 라이브러리에는 Kotiln 자체 표준 Library Class와 Java API의 기능을 확장한 내용이 존재한다. 따라서, Kotiln Compiler로 컴파일한 애플리케이션을 배포할 경우 Kotiln Runtime Library도 함께 배포해야 한다.

** Java 코드와 Kotlin 코드가 함께 섞여 있는 프로젝트 컴파일 과정

Kotlin Compiler가 Kotlin 코드를 컴파일해서 .class 파일을 생성하고, Kotlin 코드가 참조하는 Java 코드 역시 함께 로딩되어 컴파일 된다. 이후, Java Compiler가 Java 코드를 컴파일해 .class 파일을 생성하고 이때, 이미 컴파일이 이루어진 Java 코드는 Kotlin Compiler가 컴파일한 .class 파일의 경로를 클래스 패스에 추가해서 컴파일을 진행한다.

'Kotlin' 카테고리의 다른 글

[Kotlin] 범위 지정 함수  (0) 2023.03.23
[Kotlin] 기본 문법 (4)  (0) 2022.10.28
[Kotlin] 기본 문법 (3)  (0) 2022.10.27
[Kotlin] 기본 문법 (2)  (0) 2022.10.25
[Kotlin] 기본 문법 (1)  (0) 2022.10.23