숭어 개발 블로그

[Java] 람다식 본문

JAVA/람다식

[Java] 람다식

숭어싸만코 2023. 6. 19. 17:59

람다식이란?

- 함수형 프로그래밍이란 함수를 정의하고 이함수를 데이터 처리부로 보내 데이터를 처리하는 기법을 말한다.

- 자바는 함수형 프로그래밍을 위해 Java8부터 람다식 (Lambda Expressions)을 지원한다.

- 자바는 람다식을 익명 구현 객체로 변환한다. (이름이 없는 인터페이스 구현객체)

- 인터페이스의 익명구현 객체를 람다식으로 표현하려면 인터페이스가 단 하나의 추상 메소드만 가져야한다.

 

1.매개변수가 없는 람다식

- 함수형 인터페이스의 추상 메소드에 매개변수가 없을 경우 람다식은 다음과 같이 작성할 수 있다.

// 실행문이 2개인경우

()-> {
	실행문;
    실행문;
}

// 실행문이 하나인경우 생략할 수 있다.
() -> 실행문

 

2.매개변수가 있는 람다식

-매개변수를 선얼할 때 타입은 생략할 수 있고, 구체적인 타입 대신에 var를 사용할 수도 있지만 타입을 생략하고 작성하는 것이 일반적이다.

매개변수 -> {
	실행문;
    실행문;
    }
    
    
매개변수 -> 실행문

 

3.리턴값이 있는 람다식

-return문이 하나만 있을 경우에는 중괄호와 함께 return 키워드를 생략할 수 있다.

(매개변수,...) -> {
	실행문;
    return 값;
    }
    
(매개변수,...) -> return 값;
(매개변수,...) -> 값

 

4.메소드  참조

-메소드를 참조해서 매개변수의 정보 및 리턴 타입을 알아내 람다식에서 불필요한 매개변수를 제거하는 것을 목적으로 한다.

클래스 :: 메소드

참조변수 :: 메소드

- ex) 예를 들어 두개의 값을 받아 큰 수를 리턴하는 Math 클래스의 max() 정적 메소드를 호출하는 람다식은 다음과 같다.

(left, right) -> Math.max(left,right);

Math :: max

 

5.생성자 참조

- 생성자를 참조한다는 것은 객체를 생성하는 것을 의미한다.

- 람다식은 단순히 객체를 생성한 후 리턴만 한다.

(a,b) -> {return new 클래스(a,b);}

클래스 :: new
Comments