티스토리 뷰

1. 코틀린 프로그래밍 환경 구축

코틀린 프로그래밍을 위해 실행 환경과 IDE를 설치하는 내역을 정리해드리려고합니다. 그 전에 앞서 간단하게 코틀린에 대해서 소개하고 넘어가도록 하겠습니다. 본 내용은 Doit 코틀린 도서를 기반으로 학습하며 작성했음을 밝힙니다.

1.1. 코틀린에 대해서

코틀린은 인텔리제이로 유명한 젯브레인사가 개발한 언어로 구글의 안드로이드 개발언어로 공식 발탁되었습니다. 코틀린을 사용하면 아래의 플랫폼에서 개발이 가능합니다.

  • 코틀린/JVM : 자바 가상 머신에서 동작하는 앱을 개발할 수 있음
  • 코틀린/JS : 자바스크립트로 웹 앱을 개발할 수 있음
  • 코틀린/Native : LLVM 컴파일러를 이용한 다수 플랫폼을 상대로 앱을 개발할 수 있음

위에 나열한 것 처럼 JVM, JS, Native 상에서 실행가능한 앱을 개발할 수 있다는 장점이 있지요. 멀티플랫폼 개발이 가능하니 코드 하나로 다수의 플랫폼에서 실행한 앱을 빌드할 수 있는 것이니 참 효율적이라고 할 수 있습니다.

1.1.1. 개발 가능한 플랫폼

  1. 애플 iOS 환경 (arm32, arm64, emulator x86_64)
  2. 애플 mac OS 환경 (x86_64)
  3. 안드로이드 환경 (arm32, arm64)
  4. 리눅스 환경 (x86_64, arm_32, MIPS, MIPS little-endian)
  5. 웹 전용 환경(wasm32)

앞서 말했듯 여러 플랫폼 즉 위에 나열된 플랫폼들 등에서 개발이 가능합니다. 안드로이드에서는 arm 32,64 비트 환경에서 개발을 지원합니다. 또한 코틀린은 자바와 완벽한 호환성을 가집니다. 저희는 이번 글에서 Kotlin을 JVM을 사용하기 위한 환경을 구성할 것입니다.

1.2 코틀린의 장점

1. 자료형 오류를 미리 캐치할 수 있는 정적 언어이다.

코틀린은 컴파일시 자료형을 검사하여 확정짓는 정적 언어로 자료형 오류를 초기에 발견하는데 좋습니다.

2. NULL 포인터 예외로 프로그램이 죽는 문제를 예방할 수 있다. (NPE에서 자유롭다.)

일명 NPE(NullPointerException) 에러. 프로그램 실행 도중 많이 발견될 수 있는 에러 중 하나로 어디서 발생하였는지 디버깅하기 어려운 에러입니다. 코틀린을 사용하면 이러한 예외 처리를 쉽게할 수 있습니다.

3. 간결성 및 효율적

특정 생략 표현을 쉽게 가능하게 하며, 다른 언어보다 간결한 코딩을 효율적으로 할 수 있다.

4. 함수형 프로그래밍과 객체 지향 프로그래밍 둘 다 가능

함수를 변수에 대입, 함수를 다른 함수의 매개변수로 받는 일이 가능합니다. 또 물론 클래스를 사용하는 객체 지향 프로그래밍이 가능하죠.

5. 세미콜론(;)을 생략할 수 있다.

항상 C계열 언어에서 강박적으로 찍던 세미콜론의 생략이 가능합니다.

1.3. 구글 안드로이드가 공식 채택한 코틀린

JAVA는 제임스 고슬링이 창시, 썬 마이크로시스템즈에서 관리하였으나 썬 마이크로시스템즈가 오라클에 인수되고 고슬링이 회사를 떠나며 오라클이 주도적으로 자바 JDK 개발 및 관리를 하게되면서 언어 자체는 무료지만 이후에 특정 JAVA JDK에 대해서 유료화를 선언하면서 안드로이드 개발에 JDK를 사용했던 구글과 문제가 되었습니다.

자바 언어는 무료라고 했으나, SDK(Software Development Kit)인 자바 JDK가 있어야 하고 JVM이 있어야 빌드 및 실행이 가능하게됩니다. 오라클에서 JDK과 JVM 특정 기능에 대해 라이선스 비용을 책정하기 때문에 구글에서 이런 분쟁을 피하려고 자체 가상머신인 DalvikVM 및 ART 등을 만들거나 새로운 SDK를 자체 개발하기도 했으며 자바를 대체하려고 코틀린을 안드로이드 개발 공식언어로 채택하고 지원하고 있습니다. 하지만 하위 호환을 고려한다면 모든 JDK를 코틀린화하기에는 무리가 있기에 안드로이드 개발에 있어서는 JAVA 및 코틀린을 혼용할 수 있어야합니다.

오라클이 썬을 인수하며 오픈JDK 또한 계속해서 발전시키고 있으며 이러한 open JDK에서는 몇 가지 상용기능이 없으나 라이선스 비용을 대지 않아도 되는 GPLv2 라이선스를 따르기 때문에 누구나 자유롭게 이용이 가능합니다. 이 글에서도 Azul Systems에서 OpenJDK에 부가기능을 추가하여 TCK 인증을 통과한 Zulu 라는 JDK를 이용하려고합니다.

1.4. 코틀린으로 개발한 유명 앱들

대표적으로 코틀린으로 개발한 앱 중에서는 에버노트, 핀터레스트, 트렐로 등이 있습니다. 구글에서 공식언어로 발표한 년도가 2017년 이기 때문에 아직 자바로 개발된 언어가 많기는 하지만 점점 코틀린으로 개발된 앱들이 늘어나고 있다고합니다.

2. 실습 가능한 환경 구축하기

2.1. 자바 JAVA JDK 설치

코틀린 JVM 환경 개발을 위해 OpenJDK인 Zulu를 설치하도록 하겠습니다. 책에 따르면 코틀린은 JDK SE 9 까지 지원하나, 안정성을 위해 JDK SE 8 버전을 설치하도록 하겠습니다.

공식 Zulu 설치 페이지 링크

위 링크로 들어가 아래 쪽으로 내려보면 자바 버전 선택 및 운영체제 선택을 위한 콤보박스가 보이실겁니다. 자신에게 맞는 사항을 선택하시고 .msi로 받아서 설치를 진행하시면 되겠습니다. 이때 운영체제 32, 64 비트 중 자신에게 맞는 버전을 받으셔야합니다.

받은 파일 zulu8.52.0.23-ca-jdk8.0.282-win_x64.msi를 실행시켜서 설치를 진행하도록 합니다. 설치 전 이미 설치되어있는 JDK가 없는지 꼭 확인해주세요.

받는 동안 설치 경로를 우선 확인 해놓으시기 바랍니다. 설치 이후 환경변수 등록에 필요합니다.

이후에 윈도우로고 검색으로 환경을 검색해 환경설정 - 시스템 환경 변수 편집 메뉴를 열어주도록 합니다.

시스템 속성 - 환경변수 메뉴로 들어가줍니다.

이후 환경 변수 에서 새로 만들기(W)... 를 눌러 새 시스템 변수를 추가하도록 합니다.

변수 이름에 JAVA_HOME 을 주고 변수 값에 zulu가 설치된 경로를 입력합니다. 이때 JDK가 이미 설치되어있는 경우를 잘 확인하시고 있다면 제거후 zulu를 설치하시면되겠습니다.

새 스세틈 변수를 추가했으니 이제 Path 변수에 해당 변수를 사용해서 경로를 추가해줍니다. Path를 더블 클릭하고 새로 만들기를 눌러 %JAVA_HOME%bin 을 입력하고 추가합니다. 이때 이미 zulu가 경로로 설정되어있다면 중복되므로 제거해주도록 합시다.

이후 제대로 설치가 되었는지 윈도우키 + R 키를 누른뒤 cmd를 입력하고 확인을 눌러서 커맨드 창을 띄워줍니다.

이후 커맨드 창에서 java -version 과 javac -version 을 입력해서 아래와 같이 실행이 정상적으로 확인해주시면됩니다. 보통 아래와 같이 실행된다면 정상적으로 설치가 된것입니다.

java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
javac -version
javac 1.8.0_252

2.2 IntelliJ IDEA 설치하기

다음은 젯브레인사에서 만든 개발도구인 IntelliJ IDEA 설치입니다. 무료 버전으로 Community 버전을 받으면 안드로이드 코틀린 개발에는 무리가 없으므로 현재 커뮤니티 버전을 받아서 설치해보도록 하겠습니다.

IntelliJ IDEA 다운로드

Ultimate 버전은 웹개발 등을 포함한 유료 버전이므로 Community 버전을 받아서 설치를 진행하시면 되겠습니다.

설치할 경로를 정해주시고 next를 눌러줍니다. 약 1.6기가 정도의 용량이 필요합니다.

저는 운영체제가 64 비트이므로 설치 셋팅에서 64-bit Launcher를 선택 그리고 .kt 와 .kts를 체크해서 코틀린 개발 관련 파일 연결 설정을 해주도록 합니다. 

설치가 완료된 모습입니다. Run IntelliJ IDEA Community Edition을 체크하고 Finish를 눌러 인텔리제이를 실행해봅시다.

유저 동의에 체크한 뒤 Continue

위 창은 이전 버전 설정을 그대로 가져올건지 묻는건데, 최초 설치하시는 분들은 Do not import settings 한 뒤 OK 

이후에 Project 생성해서 코틀린 프로그래밍을 진행하시면 됩니다.

댓글
최근에 올라온 글
최근에 달린 댓글
네이버 이웃추가
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함