Java REPL 또는 jshell은 자바 9에서 소개된 새로운 도구입니다. 오늘은 Java REPL의 기본 사항을 살펴보고 jshell 인터페이스에서 몇 가지 테스트 프로그램을 실행해 보겠습니다.
Java REPL
먼저 Java에 REPL 지원이 추가된 이유를 이해해 보겠습니다. REPL 지원이 중요하다면 왜 이렇게 늦은 버전에서 추가되었을까요? 알다시피 Scala는 그 특징과 장점으로 인해 소규모부터 대규모 애플리케이션을 개발하는 데 매우 인기가 있습니다. Scala는 멀티 패러다임 (객체 지향 및 함수형 프로그래밍)과 REPL을 지원합니다. Oracle Corporation은 Scala의 대부분의 기능을 Java에 통합하려고 노력하고 있습니다. 이미 람다 표현식과 같은 몇 가지 함수형 프로그래밍 기능을 Java 8의 일부로 통합했습니다. Scala의 가장 좋은 기능 중 하나는 REPL (Read-Evaluate-Print-Loop)입니다. 이것은 명령 줄 인터페이스 및 Scala 인터프리터로 Scala 프로그램을 실행하는 것입니다. Scala REPL을 사용하여 Scala 프로그래밍의 기본 사항을 배우고 작은 테스트 코드를 실행하는 것은 매우 쉽습니다. Scala REPL의 이점은 학습 곡선을 줄이고 테스트 코드를 쉽게 실행하기 때문에 Java REPL이 Java 9에서 도입되었습니다.
Java REPL – jshell
Java REPL 응용 프로그램 이름은 jshell
입니다. JShell은 Java Shell의 약자입니다. jshell은 변수 선언, 문장, 표현식, 간단한 프로그램 등과 같은 Java 간단한 프로그램을 실행하고 평가하는 대화형 도구입니다. 명령 프롬프트를 열고 java 버전을 확인하여 java 9 이상이 있는지 확인한 후에만 jshell을 사용할 수 있습니다. jshell은 간단한 java 프로그램을 실행하기 위해 IDE나 추가 편집기가 필요하지 않으므로, 코어 자바를 처음 배우는 사람들과 새로운 기능과 작은 테스트 코드를 학습하고 평가하는 데 매우 유용합니다.
Java REPL – jshell 기본
아래 이미지에 표시된 대로 jshell
명령을 사용하여 Java REPL에 액세스할 수 있습니다. 이제 몇 가지 간단한 Java 예제를 실행하여 Java REPL 도구의 맛을 볼 차례입니다.
pankaj:~ pankaj$ jshell
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell>
jshell> System.out.println("Hello World");
Hello World
jshell> String str = "Hello JournalDev Users"
str ==> "Hello JournalDev Users"
jshell> str
str ==> "Hello JournalDev Users"
jshell> System.out.println(str)
Hello JournalDev Users
jshell> int counter = 0
counter ==> 0
jshell> counter++
$6 ==> 0
jshell> counter
counter ==> 1
jshell> counter+5
$8 ==> 6
jshell> counter
counter ==> 1
jshell> counter=counter+5
counter ==> 6
jshell> counter
counter ==> 6
jshell>
위의 Java REPL 예제에서 볼 수 있듯이 “Hello World” 프로그램을 개발하는 것은 매우 쉽습니다. 우리는 “public class”를 정의하거나 public static void main(String[] args) 메소드를 정의할 필요 없이 메시지 하나를 출력하기만 하면 됩니다. 참고: 위 다이어그램에서와 같이 간단한 문장에 대해 “세미콜론”을 사용할 필요가 없습니다.
Java REPL – 클래스 실행
우리는 Java REPL 쉘에서 클래스 메소드를 정의하고 실행할 수도 있습니다.
jshell> class Hello {
...> public static void sayHello() {
...> System.out.print("Hello");
...> }
...> }
| created class Hello
jshell> Hello.sayHello()
Hello
jshell>
Java REPL – 도움말과 종료
jshell 도구 도움말 섹션을 얻으려면 /help
명령어를 사용하십시오. jshell에서 종료하려면 /exit
명령어를 사용하십시오.
jshell> /help
| Type a Java language expression, statement, or declaration.
| Or type one of the following commands:
| /list [<name or id>|-all|-start]
| list the source you have typed
| /edit <name or id>
...
jshell> /exit
| Goodbye
pankaj:~ pankaj$
jshell 도구에서 종료하려면 Ctrl + D
명령어를 사용할 수도 있습니다. 이것이 Java REPL과 jshell 도구의 기본 사항입니다. jshell – java shell에서 자세한 내용을 읽어보십시오. 참고: JEP 222
Source:
https://www.digitalocean.com/community/tutorials/java-repl-jshell