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

Java 9 JShell에서 람다 표현식(Lambda Expression) 구현하는 방법

JShell은 자바 최초의 REPL(Read-Eval-Print Loop)이자 명령줄(command-line) 도구로, 자바 프로그래밍 언어의 다양한 요소를 대화형으로 실행하고 확인할 수 있게 해줍니다. 이 도구를 활용하면 클래스에 속하지 않고도 특정 기능을 독립적으로 테스트할 수 있습니다. JShell은 사용자의 입력을 받아 읽고 결과를 즉시 출력하는 간단하고 편리한 프로그래밍 환경을 명령줄에서 제공합니다.

람다 표현식(lambda expression)은 어떤 클래스에도 소속되지 않은 채 생성되는 함수로, 코드를 훨씬 간결하게 작성할 수 있게 해주는 자바의 강력한 기능입니다.

JShell에서 람다 표현식 구현하기

다음 예제는 JShell에서 람다 표현식을 구현하는 과정을 보여줍니다. 먼저 명령 프롬프트에서 jshell 명령어를 입력하여 JShell 세션을 시작합니다.

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

jshell> Consumer<String> s = (String s) -> System.out.println(s)
s ==> $Lambda$14/1268066861@3159c4b8

위 예제에서는 java.util.function 패키지의 Consumer 인터페이스를 활용하여, 문자열을 매개변수로 받아 콘솔에 출력하는 람다 표현식을 변수 s에 할당했습니다.

Tab 키 자동 완성으로 메서드 탐색하기

Consumer 인터페이스의 메서드가 기억나지 않는다면, 생성한 변수 이름 뒤에 마침표(dot)를 입력한 후 Tab 키를 눌러 보세요. 그러면 Consumer 인터페이스에서 호출 가능한 메서드 목록이 자동으로 표시됩니다.

jshell> s.
accept(       andThen(      equals(       getClass()    hashCode()
notify()      notifyAll()   toString()    wait(

jshell> s.accept("Welcome to Tutorialspoint")
Welcome to Tutorialspoint

위와 같이 accept() 메서드를 호출하면 람다 표현식 본문에 정의된 System.out.println(s)가 실행되어 전달된 문자열이 화면에 출력됩니다.
이처럼 JShell을 활용하면 람다 표현식을 비롯한 다양한 자바 코드 조각을 빠르게 실험하고 결과를 즉시 확인할 수 있어, 학습과 개발 생산성을 크게 높여 줍니다.