Kotlin이란?
kotlinbluemiv

Kotlin이란?

Kotlin이 어떤 언어인지, 어디에 사용되는지, Java와 비교했을 때 기본 문법은 어떻게 다른지 정리합니다.

4 min read
AD

1. Kotlin이란?

Kotlin은 JetBrains에서 만든 프로그래밍 언어입니다. IntelliJ IDEA를 만든 회사에서 만든 언어이기도 합니다. Kotlin은 JVM 위에서 동작할 수 있기 때문에 Java로 만든 기존 프로젝트나 라이브러리와 함께 사용할 수 있습니다.

JVM은 Java Virtual Machine의 약자로, Java 프로그램이 실행되는 가상 머신입니다. Kotlin 코드는 컴파일되면 JVM에서 실행될 수 있는 바이트코드가 됩니다. 이 덕분에 Kotlin은 Java 생태계와 자연스럽게 연결됩니다.

즉, Kotlin은 Java를 완전히 대체하기 위해 등장한 별개의 언어라기보다는, Java 생태계를 그대로 활용하면서 더 간결하고 안전하게 코드를 작성할 수 있도록 설계된 언어라고 볼 수 있습니다.

2. Kotlin은 어디에 사용할까?

Kotlin은 Android 개발에서 많이 사용됩니다. Android 공식 개발 언어로 채택된 이후로 Android 앱을 만들 때 Kotlin을 사용하는 경우가 많아졌습니다.

하지만 Kotlin은 Android에서만 사용하는 언어는 아닙니다. JVM 위에서 동작하기 때문에 Spring Boot 같은 백엔드 개발에서도 사용할 수 있습니다. Java로 작성하던 서버 애플리케이션을 Kotlin으로 작성할 수 있고, 기존 Java 라이브러리도 함께 사용할 수 있습니다.

정리하면 Kotlin은 다음과 같은 영역에서 사용할 수 있습니다.

  • Android 앱 개발
  • Spring Boot 기반 백엔드 개발
  • JVM 기반 애플리케이션 개발
  • Kotlin Multiplatform을 활용한 여러 플랫폼 공유 코드 작성

Kotlin은 "Java 생태계와 함께 사용할 수 있는 JVM 언어"라고 이해하면 됩니다.

3. Kotlin 기본 코드

가장 단순한 Kotlin 코드를 보면 다음과 같습니다.

fun main() {
    println("Hello, Kotlin")
}

Java의 public static void main(String[] args)와 비교하면 훨씬 짧습니다.

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

Kotlin에서는 fun 키워드로 함수를 선언합니다. 그리고 main 함수가 프로그램의 시작점이 됩니다. 문자열을 출력할 때는 println을 사용합니다.

fun은 함수를 의미하고, main은 프로그램이 시작되는 함수입니다. Java처럼 반드시 클래스를 먼저 만들지 않아도 간단한 프로그램을 작성할 수 있습니다.

4. 변수 선언: val과 var

Kotlin에서 변수를 선언할 때는 val 또는 var를 사용합니다.

val name = "bluemiv"
var age = 20

val은 한 번 값을 넣으면 다시 바꿀 수 없는 변수입니다.

val name = "bluemiv"
name = "kotlin" // 컴파일 에러

JavaScript의 const와 비슷하게 생각할 수 있습니다. 한 번 정한 값을 다시 할당할 수 없습니다.

반대로 var는 값을 다시 바꿀 수 있는 변수입니다.

var age = 20
age = 21

JavaScript의 let과 비슷합니다. 값이 변해야 하는 경우에는 var를 사용합니다.

Kotlin에서는 가능하면 val을 먼저 사용하는 것이 좋습니다. 값이 꼭 바뀌어야 하는 경우에만 var를 사용하면 됩니다. 이렇게 하면 의도하지 않은 값 변경을 줄일 수 있고, 코드를 읽을 때도 더 예측하기 쉬워집니다.

5. 타입을 직접 쓰지 않아도 된다

Kotlin은 타입이 있는 언어입니다. 하지만 항상 타입을 직접 적어야 하는 것은 아닙니다.

val name = "bluemiv"
val age = 20
val active = true

위 코드에서 nameString, ageInt, activeBoolean입니다. Kotlin 컴파일러가 오른쪽 값을 보고 타입을 추론합니다. 이를 타입 추론이라고 합니다.

물론 타입을 직접 적을 수도 있습니다.

val name: String = "bluemiv"
val age: Int = 20
val active: Boolean = true

타입을 직접 적으면 변수 선언 구조가 더 명확하게 보입니다.

val 변수명: 타입 =

하지만 실제 Kotlin 코드에서는 타입이 명확한 경우 생략하는 경우가 많습니다.

6. Java 코드와 비교해보기

Java에서는 변수를 선언할 때 타입을 먼저 작성합니다.

String name = "bluemiv";
int age = 20;
boolean active = true;

Kotlin에서는 val 또는 var를 먼저 작성하고, 타입은 필요할 때만 뒤에 적습니다.

val name = "bluemiv"
val age = 20
val active = true

이 문법은 "값을 바꿀 수 있는가?"를 먼저 생각하게 만듭니다.

Java에서는 변수 선언을 볼 때 타입을 먼저 봅니다. Kotlin에서는 val인지 var인지 먼저 보게 됩니다. 즉, 이 값이 변경 가능한 값인지 아닌지가 코드에서 먼저 드러납니다.

7. 문자열 템플릿

Kotlin에서는 문자열 안에 변수 값을 바로 넣을 수 있습니다.

fun main() {
    val name = "Kotlin"
    println("Hello, $name")
}

문자열 안에서 변수 값을 사용할 때는 $name처럼 작성할 수 있습니다. Java에서 문자열을 이어 붙이는 방식보다 간결합니다.

public class Main {
    public static void main(String[] args) {
        String name = "Java";
        System.out.println("Hello, " + name);
    }
}

문자열을 여러 번 이어 붙이지 않아도 되기 때문에 코드가 더 간결해집니다.

8. 정리

이번 글에서는 Kotlin의 기본적인 특징과 첫 문법을 정리했습니다.

  • Kotlin은 JetBrains에서 만든 JVM 기반 언어입니다.
  • Java 생태계와 함께 사용할 수 있습니다.
  • Android 개발뿐 아니라 Spring Boot 백엔드 개발에도 사용할 수 있습니다.
  • Kotlin의 함수는 fun 키워드로 선언합니다.
  • 변수는 val 또는 var로 선언합니다.
  • 가능하면 val을 먼저 사용하고, 값이 바뀌어야 할 때만 var를 사용합니다.
  • Kotlin은 타입 추론을 지원하기 때문에 타입을 생략할 수 있습니다.

Kotlin은 Java 생태계를 활용하면서도 더 간결한 문법과 안전한 코드 작성을 지원하는 언어입니다. 기본 문법을 익힐 때는 val, var, 타입 추론, 문자열 템플릿부터 이해하면 좋습니다. 이후에는 String, Int, Boolean 같은 기본 타입과 Kotlin의 중요한 특징인 nullable 타입을 이어서 살펴볼 수 있습니다.

AD

관련 글

새 글을 놓치지 마세요

RSS 피드를 구독하면 새로운 글이 올라올 때마다 받아볼 수 있습니다.

RSS 구독하기