코틀린_기초_0

Kingyj·2025년 2월 13일

코틀린(?)

코틀린은 JVM 기반의 프로그래밍 언어로, 2011년에 JetBrains에서 개발했고, 2017년에는 구글이 공식적으로 안드로이드 공식 프로그래밍 언어로 채택했다.

코틀린 = 자바와 100% 호환되는 언어

코틀린과 자바의 관계

  1. JVM에서 실행됨
    코틀린은 자바와 마찬가지로 JVM에서 실행되며, 자바 바이트코드로 변환된다.
    즉, 자바가 실행될 수 있는 환경에서는 코틀린도 실행 가능하다.

  2. 완벽한 상호운용성(Interoperability)
    코틀린과 자바 코드는 같은 프로젝트에서 함께 사용 가능하다.
    예를 들어, 코틀린 코드에서 자바 클래스를 불러오거나, 자바 코드에서 코틀린 클래스를 호출할 수 있다.
    따라서, 기존 자바 프로젝트를 점진적으로 코틀린으로 전환하는 것도 가능하다.

  3. 더 간결한 문법
    자바보다 코드가 짧고 간결하다.
    예를 들어, 자바에서 getter/setter를 사용해야 하는 경우, 코틀린에서는 val(읽기 전용), var(읽기/쓰기 가능) 선언만으로 해결할 수 있다.

  4. Null 안전성 제공
    자바에서는 NullPointerException(NPE)가 흔한 문제인데, 코틀린에서는 널(Null) 안전성을 기본적으로 제공하여 NPE를 방지할 수 있다.
    String?처럼 ?를 붙이면 널을 허용하는 타입이 되고, 기본적으로 널을 허용하지 않는다.

  5. 람다 및 함수형 프로그래밍 지원
    코틀린은 함수형 프로그래밍 패러다임을 지원하여 람다, 고차 함수, 확장 함수 등의 기능이 강력하다.

  • 코틀린은 자바보다 코드가 간결하고 안전하며, 함수형 프로그래밍 기능이 강화된 언어다.
  • 하지만 JVM 기반이므로 자바와 완전히 다른 언어가 아니라, 기존 자바 코드와 호환성이 뛰어나다.
  • 현재 안드로이드 개발뿐만 아니라, 백엔드(Spring Boot)에서도 많이 사용된다.
    (Spring Boot + Kotlin 조합도 인기 있음)

코틀린 vs 자바 비교 예시

  1. 변수 선언
// JAVA
String name = "찹찹이";
// Kotlin
val name = "찹찹이"
  • val은 불변 변수(Immutable), var는 가변 변수(Mutable)
  1. Null 안전성
// JAVA
String name = null; // 런타임에서 NPE 발생 가능
// Kotlin
var name: String? = null  // 안전하게 처리 가능
  1. 클래스 선언
// JAVA
public class User {
    private String name;

    public User(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
// Kotlin
class User(val name: String)

기본 세팅

  • 프로젝트 생성

  • 기본 세팅





0개의 댓글