별의 공부 블로그 🧑🏻‍💻
728x90
728x170

코틀린의 개요

Kotlin 탄생 배경

목표

  • 풀 스택 웹 개발, Android와 iOS 앱 그리고 임베디드, IoT 등 모든 개발을 다양한 플랫폼에서 개발할 수 있도록 하는 것

 

특징

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

 

다양한 플랫폼

사용 가능한 플랫폼

  • Kotlin/JVM : 자바 가상 머신 상에서 동작하는 앱을 만들 수 있다.
  • Kotlin/JS : 자바 스크립트에 의해 브라우저에서 동작하는 앱을 만들 수 있다.
  • Kotlin/Native : LLVM 기반의 네이티브 컴파일을 지원해 여러 타깃의 앱을 만들 수 있다.

 

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
  • 데이터형 선언 시 널 가능한 형식과 불가능한 형식 지원
  • 자바와 완벽하게 상호 운영이 가능하다.
  • 아주 간결하고 효율적
  • 함수형 프로그래밍객체 지향 프로그래밍이 모두 가능
  • 세미콜론을 생략할 수 있다.

 

참고 사이트

 

코틀린 프로그래밍 기본 1

부스트코스 무료 강의

www.boostcourse.org

 

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖