자바
람다식(익명함수)
고양이오즈
2021. 12. 20. 20:37
람다식(익명함수)
메서드를 한개의 식 처럼 표현한 것.
메서드를 식으로 표현하면 메서드 이름과 리턴값이 없어지므로 익명함수라고도 함.
메서드의 이름과 반환 타입을 작성하지 않음.
매개변수와 바디 사이를 -> 화살표로 연결함.
매개변수의 타입은 대부분의 경우 (추론 가능 시) 생략 가능함.
*매개변수가 두개 이상인 경우 모두 생략하거나 다 적어야 함.
선언된 매개변수가 하나면 괄호도 생략 가능. 단 타입을 작성하지 않은 경우만 생략이 가능함.
바디 내의 return문 대신 식으로 대체 가능.
->와 a>b 사이에 return문을 생략
(int a, int b) -> a > b ? a: b
식은 문장이 아니니 세미콜론을 생략
괄호안의 식이 하나면 { } 생략 가능. 이 경우 식의 끝에 ;도 생략 가능
(String a, int b) -> System.out.println(a+"="+b)
람다식은 메서드의 매개변수로 전달이 가능하고
메서드의 리턴값으로도 사용 가능.