Kotlin

[마이그레이션] Kotlin vs Java

HU_717 2025. 1. 16. 23:41

한달동안 Java로 프로젝트를 진행했으며, 본 프로젝트를 Kotlin으로 마이그레이션 하기 위해서는

언어에 대한 이해를 해야, 이후 프로젝트에서도 원활한 진행이 될 것이라 생각한다

 

Kotlin 기본 문법에 대해서 학습하던 중, Kotlin이 Java보다는 Js? 와 비슷하다는 생각이 들었고

그렇다면 Kotlin과 Java와의 차이가 무엇인지 살펴보려고 한다

 

Kotlin vs Java

함수형 프로그래밍 지원 언어로 순수 함수를 작성하여 프로그래밍 부작용을 줄이는 프로그래밍 기법으로 람다식, 고차함수를 사용한다

Kotlin은 다중패러다임 언어로 함수형 프로그래밍과 객체 지향 프로그래밍을 모두 지원하여 Java와 100%로 호환이 가능해 기존 자바 코드를 활용할 수도 있다

  • 코틀린은 자바보다 간결하며, 직관적이다
    • 변수 선언시, 타입 추론을 사용하여 데이터 타입을 명시적으로 선언해주지 않아도 된다
    • 코드의 양이 줄어들며 데이터 클래스, 스마트캐스트, 확장함수, 람다 표현식 등으로 생산성을 높일 수 있다
  • Null 안정성
    • Kotlin은 Null 포인터 예외 방지를 위한 지원을 제공한다
    • 타입 뒤에 '?'를 붙여 Null이 될 수 있는 타입을 명시적으로 표시할 수 있어 NullPointerException 발생 가능성이 줄어든다
  • 자동 타입 변환
    • 스마트 캐스팅을 통해 타입 검사 후, 자동으로 타입 변환이 가능하다
  • 동시성 및 코루틴
    • 코루틴을 사용하여 간결하고 효율적인 코드 작성이 가능하다
    • 코루틴은 코루틴이 시작된 스레드를 중단하지 않으면서 비동기적으로 실행되는 코드이다

 

Java는 다양한 정보를 가지고 오랜 역사를 지녀 안정성과 유지보수가 중요한 대규모 엔터프라이즈 애플리케이션에 사용한다

Kotlin의 경우는 Android 개발에 최적화 되어있으며 코루틴을 통한 비동기 프로그래밍을 지녔다는 것이 장점이라고 볼 수 있다

 

언어 선택에 대해서는 프로젝트의 요구사항에 따라 달라지겠지만 이렇게 새로운 언어를 알아가는 것도 흥미로운 것 같다

각자의 장단점을 잘 활용해봐야겠다

 

 

'Kotlin' 카테고리의 다른 글

[IntelliJ] Kotlin 프로젝트 시작하기  (0) 2025.01.20