JShell:1. JShell 소개

JShell:1. JShell 소개

이 문서는 Java9의 오라클 공식 문서 중 JShell 사용자 가이드의 한글화 문서입니다. 원문 정보는 다음과 같습니다.

JShell 사용자 가이드의 한글화 문서는 다음과 같이 구성됩니다.


JShell 사용자 가이드: 1. JShell 소개


Java Shell(JShell)은 Java 프로그래밍 학습과 Java 코드 프로토타이핑을 위한 대화식 도구입니다. JShell에 선언문, 식(Expression), 문(Statement) 및 JShell 명령을 입력하면, 즉시 입력이 평가되고 그 결과(Feedback)가 출력됩니다. JShell은 Java9에 새로 추가된 REPL (Read-Evaluate-Print Loop)입니다. 이 도구는 커맨드 라인에서 실행됩니다.

  • 문서 구성
    • JShell는 왜 필요한가?
    • JShell 시작하고 종료하기

JShell의 추가 정보는 Java Platform, Standard Edition Tool Reference 문서의 jshell 절을 참조하시기 바랍니다.

JShell는 왜 필요한가?

JShell에 프로그램밍 요소를 입력하면, 실행 결과를 즉시 확인할 수 있습니다. 필요할 경우 프로그램 요소를 바로 수정할 수도 있습니다.

일반적으로 자바 프로그램은 다음 프로세스를 거쳐 개발됩니다.

  • 완전한 형태의 프로그램 개발
  • 프로그램 컴파일 및 에러 수정
  • 프로그램 실행
  • 프로그램 실행 중 오류 파악
  • 프로그램 수정
  • 지금까지 개발 절차 반복

자바 프로그램을 개발할 때, JShell을 사용하면 코드 실행과 옵션 탐색이 매우 편리합니다. JShell 세션에서 개별적인 문(Statement)을 실행하고 테스트할 수 있고, 메서드의 다양한 옵션을 시험해볼 수 있으며, 익숙하지 않은 API를 실험할 수 있습니다. 그러나 JShell이 IDE를 대체하는 것은 아닙니다. 프로그램을 개발할 때, JShell에 코드를 붙여넣고 시험할 수 있습니다. JShell에서 코드가 정상적으로 동작하면, JShell의 코드를 프로그램 편집기 및 IDE에 복사한는 방식으로 작업을 진행할 수 있습니다.

JShell 시작 및 종료

JShell은 JDK 9에 포함되어 있습니다. JShell을 시작하기 위해서는 터미널에 jshell 명령을 입력해야 합니다.

JShell을 사용하기 위해서는, 사용 중인 컴퓨터에 JDK 9이 설치되어 있어야 합니다. java-home/jdk-9/bin 디렉터리가 PATH 환경 변수에 설정되어 있다면, 디렉터리 위치와 상관없이 jshell을 어디서든지 실행할 수 있습니다.

다음은 jshell를 실행하고 JShell로 부터 결과를 받는 예제입니다. % 다음 코드는 사용자가 입력한 명령입니다.

% jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell>

이 문서의 모든 예제는 verbose 모드(상세정보 출력 모드)로 실행한 결과입니다. 이 문서를 실습할 때 Verbose 모드를 사용할 것을 추천합니다. Verbose 모드를 사용하면 예제와 동일한 결과를 확인할 수 있습니다. JShell에 익숙해지면 일반 모드(Normal mode) 혹은 간결 모드(consice Mode)로 전환하여 JShell을 실행하는 것이 좋습니다.

JShell을 Verbose 모드로 실행하기 위해서 -v 옵션을 사용합니다.

% jshell -v

JShell 세션을 종료할 때는 /exit 명령을 사용합니다.

jshell> /exit
|  Goodbye
작성자: 김태완
김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 한국오라클 빅데이터 팀 소속으로 빅데이터와 Machine Learning을 중점에 두고 있습니다. 최근에는 Deep Learning을 열공 중입니다.
E-mail: taewanme@gmail.com