<aside> 📌 우리는 JdbcTemplate을 사용하는 과정에서 익명 클래스와 람다식이라는 자바 문법을 사용했습니다. 익명 클래스는 자바의 초창기부터 있던 기능이고, 람다식은 자바 8에서 등장한 기능입니다. 다음 키워드를 사용해 몇 가지 블로그 글을 찾아보세요! 아래 질문을 생각하며 공부해보면 좋습니다! 😊
</aside>
[키워드]
익명 클래스 / 람다 / 함수형 프로그래밍 / @FunctionalInterface / 스트림 API / 메소드 레퍼런스
[질문]
- 자바의 람다식은 왜 등장했을까?
- 람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까?
// Greeting 인터페이스 선언
interface Greeting {
void sayHello();
}
public class Main {
public static void main(String[] args) {
// Greeting 인터페이스를 익명 클래스로 구현
Greeting greeting = new Greeting() {
@Override
public void sayHello() {
System.out.println("안녕하세요!");
}
};
// 익명 클래스의 메소드 호출
greeting.sayHello();
}
}
함수형 프로그래밍 기법을 지원하는 자바의 문법
메서드를 하나의 식(Expression)으로 표현한 것으로, 코드를 간결하면서 명확하게 표현할 수 있음.
장점
단점
⇒ 상황에 따라 적절히 사용하는 게 좋음 !
[전통적인 방식]
public class Main {
public static void main(String[] args) {
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("전통적인 방식의 스레드 실행");
}
};
Thread thread = new Thread(runnable);
thread.start();
}
}
[람다식을 사용한 방법]
public class Main {
public static void main(String[] args) {
// Runnable 인터페이스를 람다식으로 구현
Runnable runnable = () -> System.out.println("람다식을 사용한 스레드 실행");
Thread thread = new Thread(runnable);
thread.start();
}
}