Kotlin(1) - 개요

개미는뚠뚠·2023년 10월 7일
0

Kotlin

목록 보기
1/2
post-thumbnail

코틀린이란?

코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 작동하며, 성능도 자바와 동일한 수준이다.


코틀린의 장점

1. 높은 호환성

  • 코틀린은 자바로 작성된 프로젝트에 코틀린 코드를 호환할 수 있다는 장점이 있다. 또한, 자바 코드를 코틀린으로 쉽게 변환이 가능하다.

2. 단순한 문법

  • 문장끝을 의미하는 세미콜론( ; ) 을 붙히지 않아도 된다.
  • 객체를 생성할 때에는 new 키워드 없이 쉽게 객체를 생성할 수 있다.
  • 다른 언어에서는 타입을 명시하며 변수나 상수를 선언했지만, 코틀린은 타입 추론을 지원하여 일반적인 경우 타입을 필수적으로 명시하지 않아도 괜찮다.

3. 가변과 불변의 구분

자바에서는 타입을 명시하여 변수와 상수를 생성하지만, 코틀린은 val 과 var를 이용한다.

  • val : 불변(js의 const, java의 final과 동일 - 한번 값을 선언하면 변경이 불가하다.)
  • var : 가변(js의 let, java의 일반적으로 선언하는 변수와 동일 - 선언 후 값 변경이 가능하다.)

4. 람다 표현식 지원

  • SAM(Sigle Abstract Method) 변환을 지원하여, 함수의 인자로 전달되는 인터페이스의 인스턴스를 람다식으로 표현할 수 있다.

5. 스트림 API의 지원

Java 8에는 컬렉션 내 자료를 다루는 데 유용한 스트림 API를 지원한다.
이때, 자바는 안드로이드 버전 6.0 이상에서만 사용이 가능하지만, 코틀린은 코틀린 표준 라이브러리를 통해 스트림 API를 제공한다.


코틀린의 응용

1. 서버 프로그래밍

  • 자바 코드와 상호운용 가능
  • 빌더 패턴을 활용하여 간결하게 구현 가능
  • DSL 기능을 사용 가능 (Exposed 프레임워크로 SQL 데이터베이스의 구조를 기술할 수 있는 DSL제공

2. 안드로이드 프로그래밍

  • 애플리케이션의 신뢰성이 높아짐 (Null pointer 문제를 줄여준다.)
  • 자바 6와 완전히 호환된다.
  • 성능 측면에서 손해가 없다.
  • 자바와 비교해 런타임 시스템 및 패키징 애플리케이션도 그리 늘어나지 않는다.
  • 람다 함수를 inlining 하여 람다 사용시에도 새로운 객체가 생성되지 않으므로, 객체 증가로 인한 가비지 컬렉션 유발을 최소화한다.

0개의 댓글