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

Java 9 JShell에서 소스 코드를 로드하는 방법

JShell이란 무엇인가?

JShell은 Java를 대화형으로 학습할 수 있도록 도와주는 도구로, REPL(Read-Evaluate-Print-Loop) 방식으로 동작합니다. 즉, 사용자가 입력한 선언문, 구문, 표현식을 즉시 평가하고 그 결과를 바로 확인할 수 있습니다.

이전 세션의 코드 재사용하기

JShell 세션을 종료한 후 새로운 세션을 시작할 때, 이전에 입력했던 코드를 다시 활용하고 싶은 경우가 자주 발생합니다. 이럴 때 /open [파일_경로] 명령어를 사용하면 됩니다. 이 명령어는 지정된 파일 경로에 있는 모든 코드와 내부 명령어들을 현재 JShell 세션으로 불러옵니다.

일반적으로 소스 코드는 .jsh 확장자를 가진 파일로 저장되며, 아래 예제에서는 /open [파일_경로] 명령어를 사용해 해당 파일의 소스 코드를 로드하는 과정을 보여줍니다.

실행 예제

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

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

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

jshell> /list

jshell> /open C:\Users\User\Desktop\save.jsh

jshell> /list

  1 : int x = 15;
  2 : double y = 25.0;
  3 : public int sum(int a, int b) {
         return a + b;
      }

jshell> x
x ==> 15

jshell> y
y ==> 25.0

jshell> int result = sum(5, 7)
result ==> 12

예제 설명

위 실행 결과를 단계별로 살펴보면 다음과 같습니다.

1. 처음 JShell을 실행한 상태에서 변수 xy를 입력하면 'cannot find symbol' 오류가 발생합니다. 아직 해당 변수들이 정의되지 않았기 때문입니다.

2. /list 명령어를 실행해도 아무것도 출력되지 않는데, 이는 현재 세션에 입력된 코드가 없음을 의미합니다.

3. /open C:\Users\User\Desktop\save.jsh 명령어를 통해 데스크톱에 저장된 save.jsh 파일을 로드합니다.

4. 다시 /list 명령어를 실행하면 파일에 저장되어 있던 변수 선언(int x = 15;, double y = 25.0;)과 메서드 정의(sum)가 모두 로드된 것을 확인할 수 있습니다.

5. 이후 변수 x, y의 값을 조회하거나 로드된 sum 메서드를 호출하여 sum(5, 7)의 결과인 12를 정상적으로 얻을 수 있습니다.

정리

이처럼 JShell에서는 /open 명령어를 사용하여 이전에 저장해 둔 .jsh 파일의 코드를 손쉽게 불러올 수 있습니다. 이를 통해 세션이 종료되더라도 작업 내용을 지속적으로 재사용할 수 있어 학습과 실험 과정의 효율성이 크게 향상됩니다.