Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9 JShell에서 ID로 스니펫을 다시 실행하는 방법

JShell이란?

JShell은 Java 9에서 처음 도입된 대화형 도구(REPL, Read-Eval-Print Loop)입니다. JShell을 사용하면 main() 메서드 없이도 표현식, 변수, 메서드, 클래스 등 다양한 코드 조각(스니펫)을 즉시 작성하고 실행하며 결과를 바로 확인할 수 있어 학습과 간단한 테스트에 매우 유용합니다.

ID로 이전 스니펫 실행하기

JShell은 입력된 모든 스니펫에 고유한 ID를 자동으로 부여합니다. 슬래시(/) 뒤에 해당 ID를 입력하면 이전에 실행했던 스니펫을 언제든지 다시 실행할 수 있습니다.

예를 들어 /1을 입력하면 JShell이 가장 먼저 입력한 첫 번째 스니펫을 화면에 표시하고, 다시 실행한 뒤 그 결과를 보여줍니다. 또한 /! 명령을 사용하면 직전에 입력한 마지막 스니펫을 유효 여부와 관계없이 그대로 재실행할 수 있습니다.

예제 1: /1, /2, /3, /4로 스니펫 재실행

아래 코드에서는 여러 개의 스니펫을 생성한 후, 각 ID를 지정하여 순서대로 다시 실행하는 과정을 확인할 수 있습니다.

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> 2+10
$1 ==> 12

jshell> String s = "Tutorialspoint"
s ==> "Tutorialspoint"

jshell> System.out.println("Tutorialspoint")
Tutorialspoint

jshell> int num1 = 25
num1 ==> 25

jshell> /1
2+10
$5 ==> 12

jshell> /2
String s = "Tutorialspoint";
s ==> "Tutorialspoint"

jshell> /3
System.out.println("Tutorialspoint")
Tutorialspoint

jshell> /4
int num1 = 25;
num1 ==> 25

예제 2: /!로 마지막 스니펫 재실행

다음 코드에서는 /! 명령을 사용하여 마지막에 입력한 스니펫을 다시 실행하는 방법을 보여줍니다.

jshell> 2+5
$1 ==> 7

jshell> 10-6
$2 ==> 4

jshell> /1
2+5
$3 ==> 7

jshell> /!
2+5
$4 ==> 7

정리

JShell에서는 /ID 형식으로 특정 스니펫을, /!로 가장 최근 스니펫을 손쉽게 재실행할 수 있습니다. 이 기능을 활용하면 동일한 코드를 반복해서 입력할 필요 없이 빠르게 실험하고 결과를 검증할 수 있습니다.