코린이 탈출기

01 코틀린 시작하기 본문

책/Do it! 코틀린 프로그래밍

01 코틀린 시작하기

50HEE 2022. 3. 17. 18:32

01-1 코틀린의 탄생 배경

코틀린은 intelliJ IDEA라는 통합 개발 환경으로 유명한 젯브레인즈(JetBrains)에서 개발했습니다.

 

  • Kotlin/JVM: 자바 가상 머신에서 동작하는 애플리케이션을 만들 수 있다.
  • Kotlin/JS:  자바스크립트로 웹 브라우저에서 동작하는 애플리케이션을 만들 수 있다.
  • Kotlin/Native: LLVM 컴파일러를 이용하여 여러 플랫폼을 타깃으로 하는 애플리케이션을 만들 수 있다.
    (LLVM은 멀티플랫폼을 위한 중간 언어인 비트코드를 생성해 arm, PowerPC 등에서 실행할 수 있는 코드를 만드는 컴파일러용 도구입니다.)

쉽게 말해 코드를 한 번만 작성해도 데이터베이스. 서버, 웹, 안드로이드와 iOS 등에서 모두 구동하는 애플리케이션을 만들 수 있습니다. 플랫폼 환경의 종류로 우리가 흔히 사용하는 안드로이드, iOS 스마트폰은 arm32나 arm64 비트 환경이고, 일반 데스크톱 PC환경은 x86 계열, 리눅스(Linux)는 PC환경이나 서버 등 많은 부분에서 사용합니다. 이처럼 다양한 환경에서 사용할 수 있는 것이 kotlin입니다.

또한 자바와 완벽하게 호환되므로 자바 코드를 완전히 바꾸지 않아도 자바와 혼용할 수 있습니다.

 

코틀린의 장점

자료형 오류를 미리 잡을 수 있는 정적 언어입니다.

코틀린은 프로그램이 컴파일될 때 자료형을 검사하여 확정하는 정적 언어입니다. 즉 자료형 오류를 초기에 발견할 수 있는 프로그램의 안정성이 좋아집니다.

널 포인트 예외(Null PointerException)로 인한 프로그램의 중단을 예방할 수 있습니다.

널 포인트 예외는 프로그램이 실행되는 도중에 발생하기 때문에 언제 어디서 발생할지 아무도 모르는데, 코틀린은 널 포인트 예외를 방지할 수 있습니다.

 아주 간결하고 효율적입니다.

코틀린은 여러 가지 생략된 표현이 가능한 언어입니다. 그래서 다른 언어보다 훨씬 간결하고 효율적으로 코딩할 수 있습니다.

함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능합니다.

함수를 변수에 저장하거나 함수를 다른 함수의 매개변수로 넘길 수 있는 함수형 프로그래밍과 클래스를 사용하는 객체 지향 프로그래밍을 둘 다 할 수 있습니다. 보통 이런 특징을 '다중 패러다임 언어'라고 부릅니다.

세미콜론을 생략할 수 있습니다.

코드를 작성할 때 줄 마지막에 사용하던 세미콜론(;)을 생략할 수 있습니다.

 

안드로이드 공식 언어로 채택된 코틀린

자바 언어 자체는 무료이지만 자바 언어로 프로그햄을 작성하기 위해서는  SDK인 자바 JDK가 필요하며, 자바 바이트코드를 실행하기 위해서는 JVM이 필요합니다. 오라클은 Oracle JDK와 JVM의 특정 기능을 사용할 때 라이선스 비용을 지불하는 정책을 시행하고 있습니다. 이러한 분쟁을 피하기 위해 자바 언어를 대체하려는 코틀린을 안드로이드 공식 언어로 채택하게 되었습니다. 다만 하위 호환성을 고려하면 안드로이드의 모든 자바 프레임워크를 코틀린으로 다시 작성하기가 어렵기 때문에 안드로이드에서는 자바와 코틀린을 혼용해야 합니다.

 

코틀린으로 개발한 안드로이드 애플리케이션

구글이 2017 Google I/O에서 코틀린을 안드로이드 공식 언어로 발표하였습니다.

 

01-2 실습 환경 구축하기

여기서부터는 설치하는 방법에 대해 나와있어서 생략하겠습니다.

Comments