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/
'개발' 카테고리의 다른 글
비행기표 조회 자동화 (0) | 2024.08.09 |
---|---|
RDB에서 인덱스를 사용하지 않는 케이스들 (0) | 2024.05.31 |
스프링과 싱글턴 (0) | 2024.05.26 |
스프링과 SOLID 원칙 (0) | 2024.05.21 |