[Java]람다식(Lambda)의 기본개념
람다의 개념
Java 8에 새롭게 추가된 기능으로, 익명함수를 정의하는 간편한 방법이다.
람다의 기본 문법
(args)->{body}
기존의 함수에서 어노테이션과 메소드의 상세정보 등 비롯한 불필요한 부분을 제거하고 인자 목록과 함수의 몸통만 작성한다.
-
예시) 익명의 클래스를 선언한 일반적인 형태는 이러하다.
Arrays.sort(costs, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return Integer.compare(o1[2], o2[2]); } });
- 여기서 Comparator인터페이스는 재정의할 함수가 compare뿐이기 때문에 람다식을 적용할 수 있는 함수형 인터페이스다.
-
Arrays.sort(costs, ((o1, o2) -> { return Integer.compare(o1[2],o2[2]); })); // 한번 더 축약 가능하다. Arrays.sort(costs, ((o1, o2) -> Integer.compare(o1[2],o2[2])));
-
이와같이 매개변수와 반환값만 작성해 한줄로 코드가 간략화되었다.
👉 람다식을 사용하면 코드의 가독성이 높아지고 작성 또한 용이해진다.
-