JuBin's personal study blog

JAVA 8 람다식이란? 본문

JAVA

JAVA 8 람다식이란?

JuBin 2020. 9. 20. 18:00
반응형
메소드를 하나의 식으로 표현한 것(익명 함수), 함수형 프로그래밍 지원, 클래스를 생성하지않고 함수 호출로
기능을 수행한다.

 

특징

1. 람다를 사용할 경우에는 반드시 함수형 인터페이스를 통해서만 사용할 수 있다
2. 함수형 인터페이스를 사용하지 않을경우 람다를 쓰는 모든 코드에서 컴파일에러 발생
이와 같은 오류를 방지하기위해 @FunctionalInterface 어노테이션을 사용함


함수형 인터페이스란? 단 하나의 추상메소드를 지닌 인터페이스

<람다식표현>
크게 3부분으로 나눈다
• 파라미터 : (Book book)
• 화살표 : ->
• 바디(구현부분) : book.getPrice() < 12000

ex )

//collectBook 메소드
public static List<Book> collectBook(List<Book> bookList, BookPredicate p) {
	List<Book> result = new ArrayList<>();
    for (Book book : bookList) {
        if (p.check(book)) {
        result.add(book);
        }
    }
	return result;
}

 

//기존 익명클래스
List<Book> book5 = collectBook(bookList, new BookPredicate() {                    
    @Override                                                                     
    public boolean check(Book book) {                                             
        return book.getPrice() < 11000;                                           
    }                                                                             
}); 
//람다식
List<Book> book5 = collectBook(bookList, (Book book) -> book.getPrice() < 12000);

//collectBook 메소드를 통해 전체 bookList 중 가격이 12000원 이하면 true return 







반응형

'JAVA' 카테고리의 다른 글

[Java] ObjectMapper란  (0) 2020.12.23
[JVM] JVM의 Memory영역 ( Stack & Heap&Static )  (0) 2020.11.10
서버 기반 인증 -> token 기반 인증  (0) 2020.10.31
자바1.8 Stream API 정리  (0) 2020.09.20
[JAVA 8] 자바1.8 Optional이란?  (0) 2020.09.20