728x90
반응형
실전 자바 강좌 (ver.2018) - 초보부터 개발자 취업까지!! 강의를
개인공부하며 정리하는 용도의 포스팅입니다.
학습목표
- 기존의 객체 지향이 아닌 함수 지향으로 프로그래밍 방법에 대해 학습
람다식이란?
익명 함수(anonymous function)를 이용해서 익명 객체를 생성하기 위한 식이다.
람다식 구현
람다식은 기본적으로 함수를 만들어 사용한다고 생각하면 된다.
// 매개변수와 실행문만으로 작성한다.(접근자, 반환형, return 키워드 생략)
LambdaInterface1 li1 = (String s1, String s2, String s3) ->
{ System.out.println(s1 + " " + " " + s3); };
li.method("Hello", "java", "World");
System.out.println();
// 매개변수가 1개이거나 타입이 같을 때, 타입을 생략할 수 있다.
LambdaInterface2 li2 = (s1) -> { System.out.println(s1); };
li2.method("Hello");
// 실행문이 1개일 때, '{}'를 생략할 수 있다.
LambdaInterface2 li3 = (s1) -> System.out.println(s1);
li3.method("Hello");
// 매개변수와 실행문이 1개일 때, '()'와 '{}'를 생략할 수 있다.
LambdaInterface2 li4 = s1 -> System.out.println(s1);
li4.method("Hello");
// 매개변수가 없을때, '()'만 작성한다.
LambdaInterface3 li5 = () -> System.out.println("no parameter");
li5.method();
// 반환값이 있는 경우
LambdaInterface4 li6 = (x, y) -> {
int result = x + y;
return result;
};
System.out.printf("li6.method(10, 20) : %d\n", li6.method(10, 20));
li6 = (x, y) -> {
int result = x * y;
return result;
};
System.out.printf("li6.method(10, 20) : %d\n", li6.method(10, 20));
li6 = (x, y) -> {
int result = x - y;
return result;
};
System.out.printf("li6.method(10, 20) : %d\n", li6.method(10, 20));
Reference
728x90
반응형
'프로그래밍 > Java' 카테고리의 다른 글
[Java] - Collections (0) | 2020.12.22 |
---|---|
[Java] - 문자열 클래스 (0) | 2020.12.21 |
[Java] - 추상클래스 (0) | 2020.12.21 |
[Java] - 인터페이스 (0) | 2020.12.21 |
[Java] - 내부클래스와 익명클래스 (0) | 2020.12.21 |