약 4분
읽기 설정
글자 크기
줄 간격
글꼴
3.1. Lambda Expression 개념
자바의 Lambda Expression은 함수형 프로그래밍의 특징을 객체지향 프로그래밍에 통합할 수 있는 강력한 기능입니다. 이를 통해 더욱 간결하고 읽기 쉬운 코드 작성을 가능하게 합니다. 하지만 Lambda 표현식이 왜 필요한지를 이해하기 위해서는 기존의 자바에서 사용되는 익명 내부 클래스를 살펴볼 필요가 있습니다.
익명 내부 클래스는 일회성 행동을 정의해야 할 때 유용했지만, 그 길고 복잡한 구문 때문에 코드의 가독성을 떨어뜨리는 단점이 있었습니다. Lambda Expression은 이를 해결하여 코드의 간결함을 유지하면서도 이와 같은 동작을 처리할 수 있도록 도와줍니다.
예제
다음은 익명 내부 클래스를 사용하여 Runnable 인터페이스의 run 메서드를 구현하는 예제입니다:
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에서 다음 실습을 진행해 보겠습니다:
- 새로운 Java 프로젝트를 생성하세요.
- Runnable을 사용하는 두 가지 방법(익명 내부 클래스와 Lambda Expression)을 구현해 보세요.
- 각 방법으로 스레드를 생성하고 실행하여 출력 결과를 확인하세요.
프로젝트
실습 후, Lambda Expression의 이점을 이해했다면, 간단한 학생 관리 프로그램의 기능 중 하나인 학생 정보 출력 기능에 Lambda Expression을 적용해 보세요.
- 학생 정보를 나타내는 클래스를 작성하고, 리스트에 학생을 추가한 후 출력하는 로직을 Lambda Expression을 이용하여 간결하게 구현합니다.
정리
Lambda Expression은 객체지향 프로그래밍의 강력한 도구입니다. 익명 내부 클래스를 대체하여 복잡한 코드를 간단히 줄이고, 가독성을 높이는 데 기여합니다. Lambda를 사용하면 코드의 흐름을 명확히 하고, 자주 사용하는 행동을 수명 주기와 관계없이 동적으로 정의할 수 있습니다. 이러한 기술은 이후 Stream API와 결합되어 더 큰 편의성을 제공합니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.