Language/JAVA

[JAVA] 람다 표현식의 개념과 특징

gangintheremark 2023. 9. 7. 09:41
728x90

람다 표현식 개요

하나의 메서드를 갖는 인터페이스를 상속받는 익명클래스를 함수식 형태로 선언하는 것

( 매개변수 ) -> { 실행문; }

  • 매개변수가 0개라면 빈괄호 반드시 명시
  • 매개변수가 1개라면 ( ) 생략 가능
  • 실행문장이 1개라면 { } 생략 가능
  • 람다식의 리턴값은 return 다음에 지정
  • 람다식의 실행문이 리턴값 하나만 있는 경우는 ()->리턴값 형태로 선언
  • 람다식에서 지역 변수는 읽기만 가능
  • 람다식에서 멤버 변수는 읽기/쓰기 가능

 

람다 표현식

  • 익명클래스의 추상 메서드를 표현하기 위한 식
  • 반드시 추상메서드는 하나만 존재해야 된다. 두 개 이상인 경우 람다 표현식 사용 불가

💡 @FunctionalInterface 어노테이션을 이용하여 두 개 이상의 추상 메서드가 선언되지 못하도록 강제
(default 메서드 및 static 메서드는 여러개 지정해도 상관없음)

  • 메서드 기능에 따라 람다표현식이 달라진다.
    • 파라미터 없고 리턴값 없는 경우
    • 파라미터 있고 리턴값 없는 경우
    • 파라미터 없고 리턴값 있는 경우
    • 파라미터 있고 리턴값 있는 경우
728x90