코틀린이란?

Johnny·2022년 4월 8일
0

Kotlin

목록 보기
1/2

코틀린은 안전성, 간결성, 상호 운용성을 강조하는 다중 패러다임, 다중 플랫폼 프로그래밍 언어다. 코틀린은 자바보다 더 나은 대안을 제공하는 것과 다중 플랫폼을 지원하는 것이 목적이다.

코틀린으로 개발 가능한 분야

  • 안드로이드 개발
  • 데스크톱 애플리케이션
  • 서버 개발

안전성

코틀린의 설계 목표 중 하나는 프로그램의 안전성과 개발자의 생산성을 덜 해치는 트레이드 오프의 황금비율을 찾는 것이었다. 즉, 자바보다 더 안전성을 보장하는 언어를 설계하되, 개발자의 생산성을 덜 해치는 언어를 만드는 것이었다.

  • 타입 추론으로 인해 개발자가 타입을 명시하지 않아도 변수 선언이 가능하다.
  • Nullable type을 통해 null의 사용을 제한하고, NPE를 쉽게 방지한다.
  • Smart cast를 통해 타입을 안전하게 변환하고, 런타임에 타입 캐스팅 오류를 방지한다.

다중 패러다임

코틀린은 객체지향 패러다임 외 함수형 프로그래밍을 지원한다. 자바에는 익명 클래스를 통해 람다를 도입했지만 함수형 코드를 작성하는데 편리한 문법을 제공하지 않는다. 반면 코틀린은 함수 타입 시스템을 제공하여 자바보다 편리한 문법을 제공한다.

뿐 아니라 API를 도메인 특화 언어(Domain Specific Language, DSL)로 정의할 수 있는 기능을 지원하여 코틀린을 선언적인 스타일로 개발할 수 있도록 지원하고, Golang언어와 같이 동시성 프로그래밍을 위해 코틀린은 코루틴을 제공한다.

간결성과 표현력

코틀린은 Getter, Setter, 익명 클래스, 명시적인 위임 등과 같은 자바의 보일러 플레이트를 제거하여 언어를 가능한 간결하게 작성할 수 있도록 노력했다.

상호 운용성

코틀린은 독립적인 언어가 아닌 자바 언어 호환 가능한 언어이다. 기존 자바 코드를 코틀린에서 사용할 수 있고, 코틀린의 코드를 큰 노력없이 자바에서 사용할 수 있도록 상호 운용성을 보장한다.

최근에는 자바스크립트, C, C++, Objective-C, Swift 코드와 상호 작용할 수 있도록 확장되고 있다.

profile
배우면 까먹는 개발자 😵‍💫

0개의 댓글