3.1. Lambda Expression 개념

약 4분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

3.1. Lambda Expression 개념

자바의 Lambda Expression은 함수형 프로그래밍의 특징을 객체지향 프로그래밍에 통합할 수 있는 강력한 기능입니다. 이를 통해 더욱 간결하고 읽기 쉬운 코드 작성을 가능하게 합니다. 하지만 Lambda 표현식이 왜 필요한지를 이해하기 위해서는 기존의 자바에서 사용되는 익명 내부 클래스를 살펴볼 필요가 있습니다.

익명 내부 클래스는 일회성 행동을 정의해야 할 때 유용했지만, 그 길고 복잡한 구문 때문에 코드의 가독성을 떨어뜨리는 단점이 있었습니다. Lambda Expression은 이를 해결하여 코드의 간결함을 유지하면서도 이와 같은 동작을 처리할 수 있도록 도와줍니다.

예제

다음은 익명 내부 클래스를 사용하여 Runnable 인터페이스의 run 메서드를 구현하는 예제입니다:

코드 java
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Hello from runnable!");
    }
};
new Thread(runnable).start();

// Lambda 표현식을 사용한 구현
Runnable lambdaRunnable = () -> System.out.println("Hello from lambda runnable!");
new Thread(lambdaRunnable).start();

위 예제에서 볼 수 있듯이, Lambda Expression을 사용하면 코드가 훨씬 간결해지는 것을 확인할 수 있습니다. Runnable 인터페이스의 구현부가 단순히 메서드 호출로 요약되며, 중괄호와 return 문 없이도 동작할 수 있습니다. 이는 가독성을 높이며 유지보수를 쉽게 합니다.

실습

이제 여러분의 IDE인 IntelliJ IDEA에서 다음 실습을 진행해 보겠습니다:

  1. 새로운 Java 프로젝트를 생성하세요.
  2. Runnable을 사용하는 두 가지 방법(익명 내부 클래스와 Lambda Expression)을 구현해 보세요.
  3. 각 방법으로 스레드를 생성하고 실행하여 출력 결과를 확인하세요.

프로젝트

실습 후, Lambda Expression의 이점을 이해했다면, 간단한 학생 관리 프로그램의 기능 중 하나인 학생 정보 출력 기능에 Lambda Expression을 적용해 보세요.

  • 학생 정보를 나타내는 클래스를 작성하고, 리스트에 학생을 추가한 후 출력하는 로직을 Lambda Expression을 이용하여 간결하게 구현합니다.

정리

Lambda Expression은 객체지향 프로그래밍의 강력한 도구입니다. 익명 내부 클래스를 대체하여 복잡한 코드를 간단히 줄이고, 가독성을 높이는 데 기여합니다. Lambda를 사용하면 코드의 흐름을 명확히 하고, 자주 사용하는 행동을 수명 주기와 관계없이 동적으로 정의할 수 있습니다. 이러한 기술은 이후 Stream API와 결합되어 더 큰 편의성을 제공합니다.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.