TIL

Kotlin vs Java

하얀잔디 2025. 5. 13. 14:28

1. Kotlin과 Java의 가장 큰 차이점은 무엇인가요?

  • Kotlin은 Null 안정성, 간결한 문법, 함수형 프로그래밍 지원에서 Java보다 발전됨

2. Kotlin이 Java보다 나은 점은?

  • Nullable 처리를 컴파일 단계에서 검사 (?, !!, ?.)
  • 데이터 클래스(data class) → equals, hashCode, toString 자동 생성
  • 람다 표현식과 고차 함수 지원
  • Extension function으로 기존 클래스 확장 가능
  • Coroutine으로 간단한 비동기 처리 가능
  • val, var로 명확한 불변/가변 변수 구분

3. Java에 비해 Kotlin이 불리한 점은?

  • 빌드 속도는 Java보다 느릴 수 있음 (특히 초기 컴파일)
  • Kotlin을 완전히 이해하려면 Java보다 러닝커브가 있을 수 있음
  • 레거시 Java 라이브러리와의 interoperability 이슈 발생 가능

 

 

Kotlin의 Null 안정성은 어떻게 구현되어 있나요?

  • String → null 불가능
  • String? → null 허용
  • ?., ?:, !! 등 null-safe 연산자를 통해 NPE 방지

 

그럼 여기서, val, var이란?

 

val : 불변

 

var: 가변변수

 

그리고 kotlin에서는 타입 추측도 지원.

 

 

Kotlin은 타입 추론을 지원해서 val name = "kim"처럼 타입을 생략할 수 있고, 컴파일러가 자동으로 String이라고 판단해줌.


하지만 명시하고 싶으면 val name: String = "kim"처럼 타입 지정도 가능합니다.


덕분에 코드가 간결하면서도 타입 안정성이 유지됨

'TIL' 카테고리의 다른 글

fetch join vs EntityGraph  (0) 2025.05.19
LazyInitializationException  (0) 2025.05.19
조인 vs 서브쿼리  (0) 2025.05.13
LoadBalancer에 대해서  (0) 2025.05.12
LAG 란  (0) 2025.05.12