01. 코틀린이란?

thsamajiki·2022년 10월 25일
0

Kotlin

목록 보기
1/12

코틀린의 탄생 배경

목표

풀스택 웹 개발, Android와 iOS 앱 개발, 그리고 임베디드, IoT 등 모든 개발을 다양한 플랫폼에서 가능하도록 하자!

특징

  • IDE로 유명한 JetBrains에서 개발하고 보급
  • 코드가 간결하고 다재다능하며 호환성이 높다.
  • 문장 끝에 세미콜론은 옵션이다.
  • 안드로이드 스튜디오에서 안드로이드 공식 언어로 추가
  • 변수는 Nullable과 NotNull로 나뉘는데, 변수 선언시 '?'를 붙여서 Nullable로 만들 수 있다.

다양한 플랫폼

사용 가능한 플랫폼

  • Kotlin/JVM: JVM (Java Virtual Machine) 상에서 동작하는 앱을 만들 수 있다.
  • Kotlin/JS: 자바스크립트에 의해 브라우저에서 동작하는 앱을 만들 수 있다.
  • Kotlin/Native: LLVM (Low Level Virtual Machine) 기반의 네이티브 컴파일을 지원해서 여러 타깃의 앱을 만들 수 있다. 즉, ARM, x86 프로세서 등등 하드웨어 종류에 상관 없이 멀티 플랫폼 상에서 동작하는 앱을 만들 수 있다.

Kotlin/Native에서의 타깃

  • iOS (arm32, arm64, emulator x86_64)
  • MacOS (x86_64)
  • Android (arm32, arm64)
  • Windows (mingw x86_64)
  • Linux (x86_64, arm32, MIPS, MIPS little endian)
  • WebAssembly (wasm32)

코틀린의 장점

  • 자료형에 대한 오류를 미리 잡을 수 있는 정적 언어 (Statically typed)정적 타입: 컴파일러가 컴파일 타임에 데이터의 타입을 검증해준다.
  • 널 포인터로 인한 프로그램의 중단을 예방할 수 있다. 보통 개발자들은 코틀린의 이러한 특징을 'NPE에서 자유롭다'고 말한다.NPE은 Null Pointer Exception을 줄여서 말한 것
  • 데이터형 선언 시 널이 가능한 형식과 불가능한 형식을 구분해서 지원
  • 자바와 완벽하게 상호 운영이 가능하다. 왜냐하면 자바와 코틀린은 모두 바이트 코드로 컴파일 되며, JVM의 인터프리터는 이 코드들이 여러 플랫폼에서 동작하도록 만들어주기 때문이다.
  • 아주 간결하고 효율적
  • 함수형 프로그래밍과 객체 지향 프로그래밍 모두 가능 (멀티 패러다임 언어)
  • 세미콜론을 생략할 수 있다.
profile
안드로이드 개발자

0개의 댓글