코드 스니펫 실행하기
코드 스니펫 실행하기
IDE, 브라우저, 커맨드라인에서 Kotlin 코드를 즉시 실행하는 세 가지 방법을 소개할게요.
본문
Kotlin 코드는 보통 IDE, 텍스트 편집기, 또는 다른 도구에서 작업하는 프로젝트 단위로 구성돼요. 하지만 함수가 어떻게 동작하는지 빨리 확인하거나 어떤 표현식의 값을 알아보고 싶을 때, 새 프로젝트를 만들고 빌드할 필요는 없어요. 다양한 환경에서 Kotlin 코드를 즉시 실행할 수 있는 편리한 방법 세 가지를 소개할게요.
- IDE의 스크래치 파일
- 브라우저의 Kotlin Playground
- 커맨드라인의 ki 셸
IDE: 스크래치(Scratch)
IntelliJ IDEA와 Android Studio는 Kotlin 스크래치 파일을 지원해요.
스크래치 파일(또는 그냥 스크래치)을 사용하면 프로젝트와 같은 IDE 창에서 코드 초안을 만들고 즉석에서 실행할 수 있어요. 스크래치는 프로젝트에 얽매이지 않아서, 운영체제의 어떤 IntelliJ IDEA 창에서든 모든 스크래치에 접근하고 실행할 수 있어요.
Kotlin 스크래치를 만들려면 File | New | Scratch File을 클릭하고 Kotlin 유형을 선택하세요.
스크래치에서는 구문 강조, 자동 완성, 그리고 IntelliJ IDEA의 다른 코드 편집 기능도 지원돼요. main() 함수를 선언할 필요 없이, 작성하는 모든 코드가 마치 main() 본문 안에 있는 것처럼 실행돼요.
스크래치에 코드 작성을 마치면 Run을 클릭하세요. 실행 결과가 코드 옆 줄에 나타나요.
인터랙티브 모드
IDE는 스크래치의 코드를 자동으로 실행할 수 있어요. 입력을 멈추는 즉시 실행 결과를 얻으려면 인터랙티브 모드(Interactive mode)를 켜세요.
모듈 사용하기
스크래치에서 Kotlin 프로젝트의 클래스나 함수를 사용할 수 있어요.
프로젝트의 클래스나 함수를 스크래치에서 사용하려면 평소처럼 import 문으로 스크래치 파일에 가져오세요. 그런 다음 코드를 작성하고, Use classpath of module 목록에서 적절한 모듈을 선택한 상태로 실행하세요.
스크래치는 연결된 모듈의 컴파일된 버전을 사용해요. 따라서 모듈의 소스 파일을 수정하면, 모듈을 다시 빌드했을 때 그 변경 사항이 스크래치로 전파돼요. 스크래치를 실행할 때마다 모듈을 자동으로 다시 빌드하려면 Make module before Run을 선택하세요.
브라우저: Kotlin Playground
Kotlin Playground는 브라우저에서 Kotlin 코드를 작성·실행·공유하는 온라인 애플리케이션이에요.
코드 작성 및 편집
Playground의 편집 영역에서 소스 파일을 작성하듯 코드를 작성할 수 있어요.
-
클래스, 함수, 최상위 선언을 원하는 순서로 직접 추가할 수 있어요.
-
실행 가능한 부분은
main()함수의 본문에 작성하세요.
일반적인 Kotlin 프로젝트와 마찬가지로 Playground의 main() 함수는 args 파라미터를 가질 수도 있고 파라미터가 아예 없을 수도 있어요. 실행 시 프로그램 인자를 전달하려면 Program arguments 필드에 작성하세요.
Playground는 입력하는 동안 코드를 강조하고 코드 완성 옵션을 보여 줘요. 표준 라이브러리와 kotlinx.coroutines에서 선언을 자동으로 임포트해요.
실행 환경 선택하기
Playground는 실행 환경을 사용자 정의하는 방법을 제공해요.
-
향후 버전의 프리뷰를 포함한 여러 Kotlin 버전.
-
코드를 실행할 여러 백엔드: JVM, JS(레거시 또는 IR 컴파일러, 또는 Canvas), JUnit.
JS 백엔드에서는 생성된 JS 코드도 확인할 수 있어요.
온라인으로 코드 공유하기
Playground로 코드를 다른 사람에게 공유해 보세요. Copy link를 클릭해 코드를 보여 주고 싶은 사람에게 보내면 돼요.
Playground의 코드 스니펫을 다른 웹사이트에 삽입하고 실행 가능하게 만들 수도 있어요. Share code를 클릭하면 샘플을 어떤 웹 페이지나 Medium 글에도 삽입할 수 있어요.
커맨드라인: ki 셸
ki 셸(Kotlin Interactive Shell)은 터미널에서 Kotlin 코드를 실행하기 위한 커맨드라인 유틸리티예요. Linux, macOS, Windows에서 사용할 수 있어요.
ki 셸은 기본 코드 평가 기능과 함께 다음과 같은 고급 기능을 제공해요.
- 코드 완성
- 타입 검사
- 외부 의존성
- 코드 스니펫용 붙여넣기(paste) 모드
- 스크립팅 지원
자세한 내용은 ki 셸 GitHub 저장소를 참고하세요.
ki 셸 설치 및 실행
ki 셸을 설치하려면 GitHub에서 최신 버전을 다운로드해 원하는 디렉터리에 압축을 풀면 돼요.
macOS에서는 Homebrew로도 ki 셸을 설치할 수 있어요.
brew install ki
ki 셸을 시작하려면 Linux와 macOS에서 bin/ki.sh를 실행하세요(Homebrew로 설치했다면 그냥 ki를 실행) 또는 Windows에서는 bin\ki.bat을 실행하세요.
셸이 실행되면 터미널에서 바로 Kotlin 코드를 작성할 수 있어요. :help(또는 :h)를 입력하면 ki 셸에서 사용할 수 있는 명령어를 볼 수 있어요.
코드 완성과 강조
ki 셸은 Tab을 누르면 코드 완성 옵션을 보여 줘요. 입력하면서 구문 강조도 제공하며, :syntax off를 입력해 이 기능을 끌 수 있어요.
Enter를 누르면 ki 셸이 입력한 줄을 평가하고 결과를 출력해요. 표현식 값은 res*처럼 자동 생성된 이름을 가진 변수로 출력돼요. 이후 실행하는 코드에서도 이런 변수를 사용할 수 있어요. 입력한 구조가 불완전하면(예: 조건만 있고 본문이 없는 if), 셸은 점 세 개를 출력하고 나머지 부분을 기다려요.
표현식의 타입 확인하기
잘 모르는 복잡한 표현식이나 API의 경우 ki 셸은 표현식의 타입을 보여 주는 :type(또는 :t) 명령어를 제공해요.
코드 불러오기
필요한 코드가 다른 곳에 저장되어 있다면, 두 가지 방법으로 불러와 ki 셸에서 사용할 수 있어요.
-
:load(또는:l) 명령어로 소스 파일을 불러오세요. -
:paste(또는:p) 명령어로 붙여넣기 모드에서 코드 스니펫을 복사·붙여넣기하세요.
ls 명령은 사용 가능한 심볼(변수와 함수)을 보여 줘요.
외부 의존성 추가하기
ki 셸은 표준 라이브러리와 함께 외부 의존성도 지원해요. 이 덕분에 전체 프로젝트를 만들지 않고도 ki 셸에서 타사 라이브러리를 사용해 볼 수 있어요.
ki 셸에 타사 라이브러리를 추가하려면 :dependsOn 명령어를 사용하세요. 기본적으로 ki 셸은 Maven Central을 사용하지만, :repository 명령어로 다른 저장소를 연결하면 그 저장소도 사용할 수 있어요.