객체 지향 언어인 자바에서 일반 함수를 생성할 수 있는 방법이다.
원래 자바는 일반 함수 생성이 안되며 메서드로만 만들어 써야 한다. 그래서 단발적인 함수는 익명 함수로 가능하지만 고차 함수처럼 함수형 프로그래밍을 하지 못했다.
람다식은 그 대안으로서 사용된다.
자바는 함수를 일급 객체로 다루지 않는다.
함수를 일급 객체로 다루면, 변수에 할당, 매개 변수로 전달, 리턴 및 객체 내 저장이 자유로워서 유연하게 고차함수를 만들거나 변형 가능하다.
문법
람다식의 모태가 될 인터페이스를 선언한다.
사용 위치에서 인터페이스를 타입 선언하고 내용부를 정의하여 사용한다.
매개변수가 한 개이거나 매개변수 간 타입이 동일할 때, 타입 명시를 생략할 수 있다.
실행문장이 1개이면 중괄호 생략가능하다.
매개 변수가 한 개이면 소괄호 생략가능하다.
반환 값은 returen으로 표기한다.
public interface Lambda1 {
public void method1(String a, String b, String c);
}
Lambda1 func1 = (String x, String y , String z)->{System.out.println("hello");};
func1.method1(" i am"," char"," char");
// 출력
// hello i am char char
'java' 카테고리의 다른 글
[java/기본] 문자열 클래스(String, StringBuffer, StringBuilder) (0) | 2024.04.21 |
---|---|
[java] Scanner로 유저의 입력 받기 (0) | 2024.04.21 |
[java/기본] package와 import (0) | 2024.04.20 |
[java/기본]8. 접근제한자와 데이터 은닉(getter, setter) (0) | 2024.04.20 |
[java/기본]7. 배열1. 정적 배열(array) (0) | 2024.04.16 |