Java

람다식(Lambda Expressions) 기본 문법

죠스^ 2021. 4. 10. 20:21

============================================================================

( 변수타입   변수이름,  ... ) -> { 실행문; ... }

============================================================================

 

말을 길게 늘이는 것 보다 아래 적용 예를 보는게 이해가 빠를 것 같다.

 

============================================================================

( int num ) -> { System.out.println(num); } 

============================================================================

 

매개변수의 타입과 이름을 작성하고 전달받은 변수를 { }에서 활용한다. 

 

매개변수의 타입은 런타임 시에 대입되는 값에 따라 자동으로 인식될 수 있다고 한다. 

 

따라서 람다식에서는 매개 변수의 타입을 일반적으로 언급하지 않는다(와우 이렇게 만든사람들 대단해...)

 

============================================================================

( num ) -> { System.out.println(num); }

============================================================================

 

1. 매개변수가 1개라면 괄호()를 생략할 수 있다. (매개 변수가 없다면 ()를 사용해야한다.) 이건 약속

 

2. 하나의 실행문만 있다면 중괄호도 생략 할 수 있다. 

 

============================================================================

num -> System.out.println(num) 

============================================================================

 

1. return문 있다면 {}에 작성해주면 된다. (애초에 interface의 함수가 반환값이 있는 형식이였겠죠?)

 

============================================================================

num -> {System.out.println(num); return num; }

============================================================================

 

1. {}안에 return문만 있다면 아래와 같이 사용가능하다.

 

============================================================================

num -> num*10

============================================================================

 

주절 주절 말은 많지만 핵심은 긴 코드를 간단하게 작성할 수 있다

 

불필요한 코드를 작성하지 않아도 된다. 라고 생각하면 된다. 

 

( )안에는 매개변수를 작성하고 

 

-> 이건 그냥 붙여주고

 

{ } 안에 실행할 코드를 작성해주면 된다.

 

세세한건 하다보면 익숙해진다. 

 

 - 매개변수가 1개면 괄호 없어도 되고 매개변수가 1개도 없으면 괄호는 꼭 적어줘!

 

- { } 안에 실행문이 1개면 { } 안붙여도 되~ 

 

- { } 안에 return문 1개면 { } 안붙여도 되~ 그리고 return 안붙여도 되~

 

이게 끝이다