[인프런 워밍업 클럽] 3차 람다에 대해서
< 질문 >
자바의 람다식의 등장
람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까?
< 키워드 >
익명 클래스 / 람다 / 함수형 프로그래밍 / @FunctionalInterface / 스트림 API / 메소드 레퍼런스
< 자바에서 람다식의 등장 >
람다식이란 함수를 하나의 식으로 표현한 것 옛날에 자바에서는 익명 내부 클래스를 사용하여 함수형 인터페이스를 구현했지만, 이는 코드가 길어지고 가독성이 떨어지는 단점이 있었음 그래서 자바에서 람다가 등장한 배경은 주로 코드를 간결하게 작성하고, 함수형 프로그래밍 스타일을 지원하기 위해서 등장 람다에도 함수형 프로그램이 있지만 옛날의 함수 인터페이스와는 다르다
람다식의 특징 : 람다식은 코드를 간결하게 작성하고 유연하게 구성할 수 있는 도구로 함수형 프로그래밍 스타일을 지원하여 병렬 및 동시성 프로그래밍에 유용하게 활용됩니다.
함수는 일반적 용어인 반면 메서드는 객체지향 개념의 용어
< 람다식 사용법 >
-> 인터페이스 정의 :
@FunctionalInterface
interface MyInterface {
void myMethod(int a, int b);
}
=> @FunctionalInterface : 이것의 역활은 인터페이스를 명시적으로 선언하기 위한 어노테이션
즉 이 것을 사용하는 메서드는 해당 인터페이스가 함수형 인터페이스임을 검사하도록 지시
-> 람다식 사용 :
public class Main {
public static void main(String[] args) {
// 람다식을 사용하여 MyInterface 인터페이스를 구현
MyInterface myLambda = (a, b) -> System.out.println("Sum: " + (a + b));
// 람다식을 호출
myLambda.myMethod(5, 3); // 출력: Sum: 8
}
}
익명클래스 : 이름이 없는 클래스, 한번만 사용할 수 있고 하나의 객체만을 생성하기 위한 일회용 클래스
댓글을 작성해보세요.