[Kotlin] 코틀린 탄생 배경 및 목표

Kotlin

Kotlin의 목표

  • 풀스택 웹 개발, Android와 iOS앱, 임베디드, IoT 등 모든 개발을 다양한 플랫폼에서 개발할 수 있도록 하는데에 목표가 있음.

Kotlin의 특징

  • IDE(Android Studio의 모체)로 유명한 JetBrains에서 개발하고 보급한다.
  • 코드가 간결하고 다재다능하며 호환성이 높습니다.
  • 문장 끝에 세미콜론은 옵션입니다.
  • Android Studio에서 안드로이드 공식 언어로 추가되었습니다.
  • 변수는 Nullable(Null 값 사용 가능)과 NotNull로 나뉘는데, 변수 선언시 ? 를 붙여 Nullable로 만들 수 있습니다.

Kotlin 사용 가능한 플랫폼

  • Kotlin/JVM : 자바 가상 머신 상에서 동작하는 앱을 만들 수 있다.
  • Kotlin/JS : 자바스크립트에 의해 브라우저에서 동작하는 앱을 만들 수 있다.
  • Kotlin/Native : LLVM기반의 네이티브 컴파일을 지원해 여러 타깃의 앱을 만들 수 있다.
    • Kotlin/Native 타겟
      • iOS (arm32, arm64, emulator x86_64)
      • MacOS (x86_64)
      • Android (arm32, arm64)
      • Window (mingw x86_64)
      • Linux (x86_64, arm32, MIPS little endian)
      • WebAssembly (wasm32)

Kotlin 장점

  • 자료형에 대한 오류를 미리 잡을 수 있는 정적 언어
    • 정적 형식 : 컴파일러가 타입을 검증해준다.
  • 널 포인터로 인한 프로그램의 중단을 예방할 수 있다.
    • 보통 개발자들은 코틀린의 이런 특징을 ‘NPE에서 자유롭다’라고 한다.
    • NPE는 Null Pointer Exception의 준말.
  • 데이터형 선언 시 Null이 가능한 Nullable형식과 Null이 불가능한 NotNull형식을 지원한다.
  • 자바와 완벽하게 상호운영이 가능하다.
  • 아주 간결하고 효율적이다
  • 함수형 프로그래밍과 객체 지향 프로그래밍 둘다 모두 가능하다.
  • 세미콜론을 생략할 수 있다.

Leave a Comment