본문 바로가기
Language/Java

[JAVA] 람다식(Lambda), 메서드 참조

by jyc_ 2024. 7. 24.

 

람다식

1. 정의

람다식은 자바 8에서 도입된 기능으로, 함수형 프로그래밍을 지원하기 위한 방법이다.

함수의 이름이 없기에 익명(anonymous) 함수 라고도 한다.

 

2. 기본 문법

(매개변수1, 매개변수2, ..., 매개변수n) -> {실행 코드}
// 매개변수가 하나 뿐이면 괄호를 생략 할 수 있다.

 

3. 사용법

List<String> foods = Arrays.asList("Apple", "Banana", "Curry");

List<String> filteredFoods = foods.stream()
	.filter(food -> food.startsWith("C"))
	.collect(Collectors.toList());

System.out.println(filteredFoods);
// 출력: [Curry]

 

4. 장단점

장점

- 코드가 짧고 명확해진다.

- 유연한 프로그래밍이 가능해진다.

 

단점

- 가독성이 떨어질 수 있다.

 

 

메서드 참조

1. 정의

class::methodName 구문을 이용하여 코드를 더 간결하게 한다. (인수를 전달하지 않아도 됨)

 

2. 사용 예시

List<String> foods = Arrays.asList("Apple", "Banana", "Curry");

names.stream() // 정적 메서드 참조를 사용하여 각 이름을 소문자로 변환
	.map(String::toLowerCase) // 정적 메서드 참조
	.forEach(System.out::println);
    
/*
출력결과
apple
banana
curry
*/

 

'Language > Java' 카테고리의 다른 글

[JAVA] EOF (End Of File)  (0) 2024.07.05
[JAVA] 빠른 입출력: BufferedReader, StringTokenizer  (0) 2024.07.04