🔥새해맞이 특별 라이브 선착순 신청🔥

[인프런 워밍업 클럽 0기] BE 3일차 과제

[인프런 워밍업 클럽 0기] BE 3일차 과제

자바의 람다식은 왜 등장했을까?

자바의 람다식은 주로 코드를 간결하게 표현하고 함수형 프로그래밍의 개념을 도입하기 위해 등장.

람다식은 Java 8에서 도입되었으며, 기존의 익명 내부 클래스를 대체하는 형태로 사용.

  • 1. 간결한 문법

    • 람다식은 익명 내부 클래스를 사용하는 것보다 훨씬 간결한 문법을 제공하기 때문에, 코드를 읽고 유지보수 하기 쉽다.

  • 2. 함수형 프로그래밍 지원

    • 람다식은 함수형 프로그래밍의 핵심 개념(함수를 값처럼 다룰 수 있고, 함수를 다른 함수의 인자로 전달하거나 반환)을 자바에 도입하는데 기여.

    • 자바에서는 람다식과 스트림 API를 통해 함수형 프로그래밍 개념 도입

  • 3. 컬렉션 처리 간소화

    • 람다식은 컬렉션 처리를 간소화하고 더 효과적으로 할 수 있도록 도와줌.

      • forEach 메서드를 이용하여 컬렉션의 각 요소를 간편하게 처리 가능.

  • 4. 병렬 프로그래밍 지원

    • 람다식은 병렬 프로그래밍을 위한 스트림 API(자바 8에서 추가된 기능으로, 컬렉션을 함수형 프로그래밍의 스트림으로 처리하는 방법을 제공)와 함께 사용되어 병렬 실행이 가능한 코드를 작성하는 데 도움을 준다.

       

     

    람다식익명 클래스는 어떤 관계가 있을까? - 람다식의 문법?

  • JdbcTemplate을 사용하는 과정에서 익명 클래스람다식이라는 자바 문법을 사용

  • 익명 클래스는 자바의 초창기부터 있던 기능이고, 람다식은 자바 8에서 등장한 기능

    • 익명클래스

    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // 이벤트 처리 로직
        }
    });
    
    • 람다식(익명 클래스보다 더 간결한 문법 제공)

button.addActionListener(e -> {
    // 이벤트 처리 로직
});

 

추가 개념

@FunctionalInterface

  • 함수형 인터페이스를 선언할 때 사용하는 어노테이션으로, 해당 인터페이스가 하나의 추상 메서드만을 가지고 있는지 검사.

  • 람다식이나 메소드 레퍼런스를 사용할 때 함수형 인터페이스를 명시적으로 선언하기 위해 사용됨.

     

메소드 레퍼런스

  • 메소드 레퍼런스는 람다식을 더 간결하게 표현하기 위한 방법으로, 이미 정의된 메서드를 호출하는 방식

// 람다식
(a, b) -> MyClass.staticMethod(a, b)

// 메소드 레퍼런스
MyClass::staticMethod

채널톡 아이콘