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

Java 9 JShell 세션 재설정 방법: /reset 명령어 완벽 가이드

Java 9부터 도입된 JShell은 Java에서 선언문(declarations), 문장(statements), 표현식(expressions)과 같은 코드 조각을 즉시 실행하고 결과를 확인할 수 있는 대화형 도구입니다.

JShell 세션을 재설정해야 하는 이유

JShell 사용 중 세션을 종료했다가 다시 시작하지 않고 초기 상태로 되돌리고 싶다면 내부 명령어인 /reset을 사용하면 됩니다. 이 명령어를 실행하면 현재 세션에서 입력한 모든 코드가 삭제되지만 JShell 자체는 계속 실행된 상태로 유지됩니다. 기존에 사용하던 변수 이름을 그대로 활용하면서 새로운 클래스를 테스트하거나 변수를 새로 정의해야 할 때 특히 유용합니다.

/reset 명령어 사용 예제

아래 예제에서는 변수 a, y, str을 생성했습니다. /list 명령어를 입력하면 지금까지 입력한 모든 코드 조각을 한눈에 확인할 수 있으며, 이후 /reset 명령어로 현재 세션을 초기화할 수 있습니다.

jshell> int a = 25
a ==> 25

jshell> double y = 30
y ==> 30.0

jshell> String str = "Tutorialspoint"
str ==> "Tutorialspoint"

jshell> /list

1 : int a = 25;
2 : double y = 30;
3 : String str = "Tutorialspoint";

jshell> /reset
| Resetting state.

jshell> /list

jshell> x
|  Error:
|  cannot find symbol
|    symbol: variable x
|  x
|  ^

jshell> str
|  Error:
|   cannot find symbol
|   symbol: variable str
|   str
|   ^-^

jshell> int x = 15
x ==> 15

jshell> String str = "reset"
str ==> "reset"

jshell> /list

  1 : int x = 15;
  2 : String str = "reset";

실행 결과 분석

/reset 명령어를 실행하면 "| Resetting state."라는 메시지와 함께 상태가 초기화되며, 이후 /list를 입력해도 이전에 입력한 코드는 더 이상 표시되지 않습니다. 또한 기존에 정의했던 변수(x, str 등)에 접근하려고 하면 "cannot find symbol" 오류가 발생하는데, 이는 해당 변수들이 이미 삭제되어 존재하지 않기 때문입니다. 세션이 깨끗하게 초기화되었으므로, 이후에는 같은 이름으로 새로운 변수를 자유롭게 정의할 수 있습니다.