람다식이란
람다식은 함수형 프로그래밍을 구현하기 위한 방식이다.
클래스를 생성하지 않고 함수의 호출만으로 수행가능하다.
함수형 인터페이스를 선언한다.
함수형 프로그래밍
매개변수만을 사용하도록 만든 함수로 외부자료에 부수적인 영향이 발생하지 않도로고 한다.
입력 받은 자료를 기반으로 수행되고 외부에 영향을 미치지 않기 때문에 병렬처리가 가능하며 안정적이며 확정성있는 프로그래밍 방식이다.
람다식 문법
매개변수 하나의 경우는 괄호생략가능(2개인경우는 생략불가)
str -> {System.out.println(str);}
중괄호 안의 구현부가 한 문장인 경우 중괄호를 생략가능
str -> System.out.println(str);
중괄호 안의 구현부가 한 문장이라도 return 문의 중괄호는 생략할 수 없다.
str ->{ return str.length()};
중괄호 안의 구현부가 return 문 하나라면 return과 중괄호를 모두 생략할 수 있다.
(x,y) ->x+y // 두 값을 더하여 반환
str -> str.length() //문자열 길이를 반환
함수형 인터페이스
람다식을 선언하기 위한 인터페이스
익명 함수와 매개 변수만으로 구현되므로 단 하나의 메서드만을 선언해야함
(두 개 이상의 메서드가 선언되면 어느 메서드의 호출인지 모호해짐)
@FunctionalInerface 애노테이션 사용
'IT > Java' 카테고리의 다른 글
파일 입력받기 (0) | 2020.02.28 |
---|---|
스트림 (0) | 2020.02.13 |
내부클래스 (0) | 2020.01.10 |
컬렉션 프레임워크 06 Map인터페이스 (0) | 2020.01.09 |
컬렉션 프레임워크 05-2 Set인터페이스(TreeSet) (0) | 2020.01.09 |