자바 - REPL (JShell): 초보자 가이드
안녕하세요, 미래의 자바 마법사 여러분! 오늘 우리는 자바의 REPL(읽기-평가-출력-루프) 도구인 JShell로 흥미로운 여정을 시작하려고 합니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 이 모험을 단계별로 안내해드리겠습니다. 그러니 안전벨트를 고정하고 뛰어들어 보세요!
REPL (JShell) 소개
악기 연주를 배우는 것을 상상해보세요. 모든 음표와 코드를 즉시 시도할 수 있다면 얼마나 좋을까요? 그게 바로 JShell이 자바 프로그래밍에 대해 하는 일입니다!
JShell은 자바 9에서 도입된 도구로, 자바 코드의 놀이 공간입니다. 자바 문장과 표현식을 입력하고, 즉시 결과를 볼 수 있습니다. 전체 프로그램을 작성하고 컴파일하고 실행할 필요 없이, 실험하고 학습하며 빠르게 아이디어를 테스트하는 데 완벽합니다.
JShell 사용의 장점
- 즉시 피드백: 코드 줄을 입력하고 엔터를 치면, 바로 결과를 볼 수 있습니다.
- 간편한 실험: 새로운 메서드를 시도하거나 특정 자바 기능이 어떻게 작동하는지 보고 싶다면, JShell이 당신의 샌드박스입니다.
- 학습 도구: 전체 프로그램 구조의 부담 없이 자바를 배우는 데 최적입니다.
- 빠른 프로토타입: 더 큰 프로그램에 통합하기 전에 코드 조각을 빠르게 테스트하고 정제할 수 있습니다.
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