람다식

msung99·2022년 2월 14일
0


람다식

익명 함수를 이용해서 익명 객체를 생성하기 위한 식

형식 : ( 매개변수 목록 ) -> { 실행문 }

  • 기존 방법 : 인터페이스 구현 후 그것을 인터페이스 타입의 변수에 할당하는 방식

  • 람다식 방법 : 인터페이스를 구현하고 클래스에서 implements 하는 것이 아니라, lambda 표현식을 이용해서 바로 인터페이스에 있는 메소드를 이용하는 것


예제

이런 인터페이스를 main 함수에서 람다식으로 활용하는 법을 알아보자.

public interface LambdaInterface1 {
  public void method(String s1, String s2, String s3);
}
  • 매개변수와 실행문만으로 작성한다. (접근자, 반환형, return 키워드 생략)
// 인터페이스에 있는 메소드 method 를 람다식으로 여기에 풀어서 정의함
LambdaInterface1 li1 = (String s1, String s2, String s3) -> {System.out.println(s1 = " " + s2 + " " + s3); };

l1.method("Hello", "java", "world");
  • 매개변수가 1개이거나 타입이 같을 때, 타입을 생략할 수 있다.
LambdaInterface2 li2 =(s1) -> System.out.println(s1);

l2.method("hello");
  • 실행문이 1개일 때, { } 를 생략할 수 맀다.
LambdaInterface2 li3 = (s1) -> System.out.println(s1);
lie3.method("hello");
  • 매개변수와 실행문이 1개일 때, ( ) 와 { } 를 생략할 수 있다.
LambdaInterface2 li4 = s1 -> System.out.println(s1);
li4.method("hello");
  • 매개변수가 없을 떄, ( ) 만 작성한다.
LambdaInterface3 li5 -> System.out.println("no parameter");
li5.method();
  • 반환값이 있는 경우
LambdaInterfac4 li6 = (x,y) -> {
  int result = x + y;
  return result;
}
profile
블로그 이전했습니다 🙂 : https://haon.blog

0개의 댓글