How to run Kotlin files in a command-line

사용 버전: Kotlin 2.3.0



How to run Kotlin files in a command-line을 알아보겠습니다.



어떻게 코틀린(Kotlin) 파일들을 커맨드 라인(command-line)에서 실행할 수 있을까요?


참고한 문서입니다.
https://kotlinlang.org/docs/command-line.html



보통은 아이디이(IDE)에서 실행하기 때문에 컴파일러(compiler)를 수동으로 받을 필요가 없습니다.

그렇지만, 저는 CI에서 돌려보려고 수동으로 받아보았는데요.



여기서 최신 컴파일러를 받을 수 있습니다.

현재 최신 버전은 2.3.0이네요.






저는 kotlin-compiler-2.3.0.zip을 다운로드했습니다.

압축을 풀면 kotlinc라는 디렉터리가 생깁니다.





bin이라는 디렉터리에 들어가면 다음과 같이 우리가 사용할 수 있는 프로그램들이 나옵니다.






여기서 Compiler는 kotlinc입니다.





그럼 kotlin 파일을 만들어 볼까요?

test.kt라는 파일로 바탕화면에 만들었습니다.





위 코드는 아래에서도 볼 수 있습니다.





그럼 실행해 봅시다.

먼저 compile을 해서 jar로 만들어 줘야 합니다.

kotlinc/bin으로 가서

./kotlinc [Kotlin 파일] -include-runtime -d [결과.jar 파일] 을 적어주면 됩니다.



그럼 이런 jar이 생깁니다.


잘(Jar)은 자바(Java)의 .class 파일들을 모아놓은 압축 형식입니다.

.class는 Java 바이트코드(bytecode)로 변환된 파일입니다.



Java에 대해 간단히 설명하자면,

Java 언어로 작성된 코드를 javac라는 compiler가 .class 형식인 java bytecode로 변환하고 이것을 모아 Jar로 만듭니다.

이 java bytecode는 제이브이엠(JVM)이라는 Java 용 가상머신에서 읽을 수 있는 형식을 말하며, 실행할 때에는 java bytecode를 하드웨어에 맞는 네이티브 코드(native code)로 변환하여 실행합니다.

그래서 Java가 느리다는 얘기가 있는 거죠.

이러한 느림을 해결하기 위해 사용하는 것이 짓(JIT)입니다. JVM에 존재하는 compiler로 실행할 때마다 java bytecode를 native code로 변환하는 로직을 줄이고자 자주 실행되는 핫스폿(hotspot)을 탐지하여 미리 native code로 변환시켜 바로 실행하는 기법을 사용합니다.



우리는 Kotlinc로 compile을 했는데 왜 Jar이 나오는 걸까요? 이는 Kotlin도 JVM 위에서 작동하기 때문입니다. 그래서 Java와 Kotlin은 쉽게 상호 호환이 됩니다.




자, 다시 돌아와서 Jar을 실행해야죠?

./kotlin [실행할 jar 파일]








또는 Java로도 실행 가능합니다.







이번에는 파일을 분리해 봅시다.

IntExtension.kt를 만들어서 인트(Int) 확장 함수를 따로 뺐습니다.




이번엔 분리한 kotlin 파일을 모두 적어줍니다.




실행하면, 잘 작동하는 것을 볼 수 있습니다.




끝.


카테고리: Android, Kotlin



댓글

이 블로그의 인기 게시물

일본어 문장부호

Python urllib.parse.quote()

iOS Error Undefined symbol Testing.Trait

KiCad 시작하기 2 (PCB 만들기)

KiCad 시작하기 7 (FreeRoute 사용하기 2)

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

Python bs4.SoupStrainer()

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()

Forensics 인터넷 다운로드 파일 출처 확인하기