개발합니다
[Java] 람다식 (Lambda Expression) 사용법 본문
람다식이란?
식별자 없이 실행 가능한 함수.
함수를 따로 만들지 않고 코드 한 줄에 함수를 써서 그것을 호출하는 방식이다.
사용법
(매개변수, ...) -> { 실행문 ... }
매개변수는 오른쪽 실행문을 실행하기 위해 필요한 값을 제공하는 역할이다.
매개변수 이름은 자유롭게 지정 가능하며, 인자 타입도 명시하지 않아도 된다.
매개변수가 하나이면 괄호를 생략해도 된다.
a -> a * a
람다식의 바디부분 표현식이 하나일 경우에도 중괄호를 생략할 수 있다.
중괄호가 생략된 람다식에서는 세미콜론을 붙이지 않는다.
한가지 예외로 람다식 바디에 return문이 있는 경우엔 중괄호를 생략할 수 없다.
(a, b) -> { return a > b ? a : b }
예제
@FunctionalInterface
interface Say{
int someting(int a,int b);
}
class Person{
public void hi(Say line) {
int number = line.someting(3,4);
System.out.println("Number is "+number);
}
}
@FunctionalInterface란 함수가 하나만 존재하는 인터페이스이다.
람다식 사용 X
Person rin = new Person();
rin.hi(new Say() {
public int someting(int a, int b) {
System.out.println("My Name is Coding-Factory");
System.out.println("Nice to meet you");
System.out.println("parameter number is "+a+","+b);
return 7;
}
});
람다식 사용 O
Person rin = new Person();
rin.hi((a,b) ->{
System.out.println("This is Coding-Factory!");
System.out.println("Tank you Lamda");
System.out.println("parameter number is "+a+","+b);
return 7;
});
람다식으로 정의할 시 불필요한 클래스의 정의가 필요하지 않다.
메소드 리턴 타입, 메소드 이름을 명시하지 않아도 된다. 이 때문에 람다식을 익명 함수라고 부르기도 한다.
람다식을 사용하면 코드가 간결해지고 가독성이 향상되는 이점이 있지만,
그렇다고 너무 많이 사용할 경우 코드가 지저분해지고, 읽기 힘들어지기 때문에 주의해야한다.
-참고 글
https://coding-factory.tistory.com/265
[Java] 람다식(Lambda Expressions) -> 사용법 & 예제
람다식이란? 람다식이란 "식별자없이 실행가능한 함수" 함수인데 함수를 따로 만들지 않고 코드한줄에 함수를 써서 그것을 호출하는 방식이라고 생각하시면 되겠습니다. 함수적 프로그래밍을
coding-factory.tistory.com
[Java] 람다식(Lambda Expressions) 사용법 및 예제
자바8에서 '람다식(Lambda Expression)'이 지원되면서 자바는 완전히 새로운 언어처럼 보이기 시작했다. 지네릭스(Generics)가 자바을 크게 변화시킨 것처럼 람다식 역시 자바를 어마어마하게 변화시켰
hbase.tistory.com
'Web > Java' 카테고리의 다른 글
[Java] private final, private static final 차이점 (0) | 2022.03.30 |
---|