람다식(Lambda Expressions) 기본 문법
============================================================================
( 변수타입 변수이름, ... ) -> { 실행문; ... }
============================================================================
말을 길게 늘이는 것 보다 아래 적용 예를 보는게 이해가 빠를 것 같다.
============================================================================
( 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 안붙여도 되~
이게 끝이다