본문 바로가기
공부/모던 자바 인 액션

[모던 자바 인 액션] 람다 표현식 3.1 ~ 3.2

by 띵커베르 2023. 1. 29.
728x90

람다와 스트림을 잘하고싶어서..기억 정리 겸 올림.

 

  • 람다란 무엇인가?
    • 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것
    • 람다 표현식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트를 가질 수 있다.
    • 여러가지 람다 표현식
      • () -> {} 
        • 파라미터가 없고 void 를 반환
      • () -> "Jeong"
        • 파라미터가 없으며 문자열을 반환
      • () -> { return "Jeong" }
        • 파라미터가 없으면 명시적으로 return 문을 이용해 문자열을 반환
        • 람다 표현식에는 return이 함축되어 있다.return 문을 명시적으로 사용하지 않아도 된다.
    • 어디에, 어떻게 람다를 사용할까
      • 함수형 인터페이스라는 문맥에서 람다 표현식을 사용할 수 있다.
    • 함수형 인터페이스
 

함수형 인터페이스 간략히 알아보자.

함수형 인터페이스 1개의 추상 메서드를 갖는 인터페이스 자바 8 버전 이후에는 Default 메서드 사용 가능 구현된 함수형 인터페이스는 @FunctionalInterface 를 표시하여 검증할 수 있다. 맞지 않는 경

jeong0427.tistory.com

  • 함수 디스크립터
    • 함수형 인터페이스의 추상 메서드 시그니처는 람다 표현식의 시그니처를 가르킨다.
 

자바 시그니처?

생각난 김에 적어본다.. 자바 시그니처 메소드 이름과 매개변수 타입, 리턴 타입으로 이루어진 것을 말한다. 같은 이름의 메소드를 여러개 정의하는 것을 허용, 이는 오버로딩 이라 한다. 자바

jeong0427.tistory.com

  • 람다 표현식의 시그니처를 서술하는 메서드를 함수 디스크립터 라고 부른다
    • 즉 힘수 디스크립터는 람다 표현식이 어떤 인자를 취하고, 어떤 타입을 반환하는지 나타냄.
    • ex) (int x, int y) -> x + y 라는 람다 표현식의 함수 디스크립터는 (int, int) -> int 이다.
728x90

댓글