자바 - REPL (JShell): 초보자 가이드

안녕하세요, 미래의 자바 마법사 여러분! 오늘 우리는 자바의 REPL(읽기-평가-출력-루프) 도구인 JShell로 흥미로운 여정을 시작하려고 합니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 이 모험을 단계별로 안내해드리겠습니다. 그러니 안전벨트를 고정하고 뛰어들어 보세요!

Java - REPL (JShell)

REPL (JShell) 소개

악기 연주를 배우는 것을 상상해보세요. 모든 음표와 코드를 즉시 시도할 수 있다면 얼마나 좋을까요? 그게 바로 JShell이 자바 프로그래밍에 대해 하는 일입니다!

JShell은 자바 9에서 도입된 도구로, 자바 코드의 놀이 공간입니다. 자바 문장과 표현식을 입력하고, 즉시 결과를 볼 수 있습니다. 전체 프로그램을 작성하고 컴파일하고 실행할 필요 없이, 실험하고 학습하며 빠르게 아이디어를 테스트하는 데 완벽합니다.

JShell 사용의 장점

  1. 즉시 피드백: 코드 줄을 입력하고 엔터를 치면, 바로 결과를 볼 수 있습니다.
  2. 간편한 실험: 새로운 메서드를 시도하거나 특정 자바 기능이 어떻게 작동하는지 보고 싶다면, JShell이 당신의 샌드박스입니다.
  3. 학습 도구: 전체 프로그램 구조의 부담 없이 자바를 배우는 데 최적입니다.
  4. 빠른 프로토타입: 더 큰 프로그램에 통합하기 전에 코드 조각을 빠르게 테스트하고 정제할 수 있습니다.

JShell 실행

이제 손을 더러워하게 만들어 보겠습니다! JShell을 시작하려면 명령 프롬프트나 터미널을 엽니다:

jshell

모든 것이 올바르게 설정되었다면, 다음과 같은 환영 메시지와 프롬프트를 볼 수 있습니다:

jshell>

축하합니다! 지금부터 JShell 환경에 들어왔습니다. 간단한 것을 시도해 보겠습니다:

jshell> System.out.println("Hello, JShell!")
Hello, JShell!

보세요! 우리는 JShell에서 첫 메시지를 출력했습니다. 메인 메서드도, 클래스 선언도 없이純粋한 자바의 매력을 느껴보세요!

JShell에서 변수 생성

JShell에서 변수를 생성하는 것은 쉬워요. 몇 가지를 시도해 보겠습니다:

jshell> int age = 25
age ==> 25

jshell> String name = "Alice"
name ==> "Alice"

jshell> double pi = 3.14159
pi ==> 3.14159

JShell은 각 변수를 생성할 때 자동으로 값을 표시합니다. 멋지죠?

JShell에서 표현식 평가

JShell은 즉시 표현식을 평가할 수 있습니다. 수학을 좀 해보겠습니다:

jshell> 5 + 3
$1 ==> 8

jshell> age * 2
$2 ==> 50

jshell> "Hello, " + name
$3 ==> "Hello, Alice"

JShell은 결과에 임시 변수 이름(예: $1, $2, $3)을 부여합니다. 이를 다음 표현식에서 사용할 수 있습니다!

JShell에서 메서드 생성 및 호출

JShell에서 메서드를 생성하는 것은 간단합니다. 간단한 인사 메서드를 만들어 보겠습니다:

jshell> void greet(String name) {
...>     System.out.println("Hello, " + name + "!");
...> }
|  created method greet(String)

jshell> greet("Bob")
Hello, Bob!

메서드를 정의하고 바로 호출했습니다. 클래스 래퍼가 필요 없습니다!

JShell 내장 명령어

JShell에는 세션을 탐색하고 관리하는 데 도움이 되는 여러 내장 명령어가 있습니다. 가장 유용한 몇 가지를 소개합니다:

명령어 설명
/list 입력한 소스를 목록에 보여줍니다
/vars 선언된 변수와 그들의 값을 목록에 보여줍니다
/methods 선언된 메서드를 목록에 보여줍니다
/edit 소스 엔트리를 편집합니다
/save 조각을 파일에 저장합니다
/open 파일을 엽니다
/exit JShell을 종료합니다

couple을 시도해 보겠습니다:

jshell> /vars
|    int age = 25
|    String name = "Alice"
|    double pi = 3.14159

jshell> /methods
|    void greet(String)

JShell 종료

실험을 마치면 JShell을 종료하는 방법은 다음과 같습니다:

jshell> /exit
|  Goodbye

그렇게 해서 첫 JShell 세션을 완료했습니다!

결론

JShell은 학습과 실험에 매우 강력한 도구입니다. 전통적인 자바 프로그래밍의 장벽을 제거하여 코드 자체에 집중할 수 있게 해줍니다. 자바 여정을 계속하면서 JShell을 새로운 아이디어를 시도하고, 조각을 테스트하며, 복잡한 문제를 디버깅하는 데 귀중한 동반자로 발견할 것입니다.

기억하세요, 프로그래밍은 삶과 마찬가지로, 하는 것을 통해 배울 수 있습니다. 그러니 JShell에서 실험을 두려워하지 마세요. 다양한 명령어를 입력하고, 이상한 변수를 만들고, 미친 메서드를 정의하세요 - 더 많이 놀면 더 많이 배울 수 있습니다!

이 수업을 마칠 때, 유명한 컴퓨터 과학자艾伦 凯伊의 말을 떠올립니다: "미래를 예측하는 최고의 방법은 그것을 발명하는 것입니다." JShell을 손에 들고, 당신은 자바의 미래를 하나의 코드 줄씩 발명할 수 있습니다.

幸福한 코딩, 미래의 자바 마스터 여러분! 다음 번 만날 때까지, 계속 탐험하고, 배우며, 자바를 즐기세요!

Credits: Image by storyset