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

Java 9 JShell에서 이전에 입력한 스니펫을 출력하는 방법

JShell이란 무엇인가?

JShellJava 9에서 공식적으로 도입된 REPL(Read-Evaluate-Print-Loop) 도구입니다. main() 메서드 없이도 자바 코드와 Java API를 대화형 셸 환경에서 즉시 실행해 볼 수 있어, 빠른 프로토타이핑, 디버깅, 그리고 자바 학습에 매우 유용합니다.

/list 명령어로 이전 스니펫 확인하기

JShell에서 "/list" 명령어를 입력하면 해당 세션 동안 입력했던 모든 스니펫(snippet)을 고유 식별자인 스니펫 ID와 함께 출력할 수 있습니다.

기본적으로 /list 명령어는 유효한 문장이나 표현식만 표시하며, 오류가 발생한 코드는 출력되지 않습니다. 만약 오류를 포함한 지금까지 입력한 모든 코드를 확인하고 싶다면 -all 옵션을 함께 사용하면 됩니다.

예제 1: JShell에서 다양한 구문 실행하기

아래 예제에서는 JShell에서 변수 선언, 표현식, 클래스, 메서드 등 여러 종류의 구문을 생성해 보았습니다.

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

jshell> int x=20
x ==> 20

jshell> "Java 9"
$2 ==> "Java 9"

jshell> System.out.println($2)
Java 9

jshell> class Test {
...> }
| created class Test

jshell> void print() {
...> System.out.println("Tutorialspoint");
...> }
| created method print()

jshell> print()
Tutorialspoint

jshell> System.out.println(x)
20

예제 2: /list 명령어로 전체 스니펫 조회하기

아래와 같이 "/list" 명령어를 실행하면 세션에서 입력했던 모든 스니펫을 스니펫 ID와 함께 한눈에 확인할 수 있습니다.

jshell> /list

1 : int x=20;
2 : "Java 9"
3 : System.out.println($2)
4 : class Test {
}
5 : void print() {
System.out.println("Tutorialspoint");
}
6 : print()
7 : System.out.println(x)

정리

JShell의 /list 명령어는 세션 내 작업 이력을 추적하고 관리하는 데 필수적인 기능입니다. 각 스니펫에는 고유한 ID가 부여되므로, 이후 /edit, /drop 등의 명령어와 조합하면 특정 스니펫을 수정하거나 삭제하는 것도 가능합니다. 오류 코드까지 포함한 전체 이력이 필요하다면 /list -all 옵션을 활용해 보세요.