본문 바로가기
개발

Kotlin 간단 정리

by PilYeooong 2024. 4. 16.

Kotlin 이란?

JetBrains에서 공개한 JVM 기반의 오픈 소스 프로그래밍 언어이다.
멀티 플랫폼을 지원하며, 정적 타입 언어이기도 하다.
Java와 유사하지만 더 간결한 문법, 기능이 제공되며, Java와 상호 운용이 100% 지원된다.

아래 코드는 문법 비교를 위한 간단한 예시이다.

//Java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

//Kotlin
fun main() {
    println("Hello, World!")
}

 

Kotlin 컨셉

  • 표현력, 간결성
    • 간결하고 가독성이 높은 코드 작성을 장려한다
  • 안정성
    • 널 포인터 예외와 같은 일반적인 버그를 방지한다.
    • 프로그램의 안정성을 향상시키기 위해 타입 안전성과 널 안전성을 강조하고 있다.
  • 상호운용성
    • 자바와 높은 상호운용성을 가진다.
    • Kotlin에서도 기존 자바 생태계의 라이브러리와 프레임워크를 그대로 사용이 가능하여, 점진적 도입이 가능하다.

 


 

관련 키워드 정리

 

멀티플랫폼

하나의 코드베이스를 사용하여 여러 개의 플랫폼에서 애플리케이션을 개발하고 실행할 수 있는 개념이다.
동일한 코드를 사용하여 여러 플랫폼(iOS, Android등)에서 실행 가능한 애플리케이션을 개발할 수 있도록 해준다.

JVM

Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신이다. JRE에 포함되어 있다.

JRE 

Java Runtime Environment의 약자이다. Java 프로그램과 운영체제 간의 통신을 위한 기술이다. Java로 작성 된 프로그램이 어떤 운영체제에서도 실행 될 수 있도록 리소스를 제공해준다.

JDK

Java Development Kit의 약자이며, Java 기반의 프로그램을 개발하는데 필요한 툴을 모아 놓은 소프트웨어 패키지이다. 위에서 언급한 JRE와 바이트코드 컴파일러, 디버거 등 다양한 개발도구로 이루어져있다. 여러 JDK 공급자들이 있고, 각 공급사 별로 적용된 라이센스도 다르다. Oracle을 제외하고는 대부분 무료라고 하는데, 사용목적에 따라서 사용 전에 확인 해 볼 필요는 있을듯 하다. ex) Oracle, OpenJDK, Azul, Temurin, AWS, Microsoft 등

 

Ref

https://kotlinlang.org/docs/home.html
https://namu.wiki/w/Kotlin
https://namu.wiki/w/Java
https://namu.wiki/w/JDK
https://namu.wiki/w/Java%20Virtual%20Machine
https://aws.amazon.com/ko/what-is/java-runtime-environment/