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

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

 

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

 

첫 번째로는 함수형 프로그래밍을 지원하기 위함이다.

람다식은 함수를 값으로 다루는 것을 가능하게 한다. 이는 함수를 변수에 할당하거나, 다른 함수의 매개변수로 전달하거나, 함수를 반환할 수 있게 한다.

 

두번째로는 간결성이다.

예전에도 익명 클래스를 사용해서 함수를 전달할 수 있었다. 하지만 코드가 상당히 길어지고 가독성이 떨어진다. 이에 반해, 람다식은 코드의 길이가 훨씬 짧고 간결하다.

 


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

 

람다식과 익명 클래스는 모두 익명으로 구현된 코드 조각을 나타낸다. 익명 클래스는 주로 인터페이스나 추상 클래스를 구현하는 무명의 클래스를 생성하는 데 사용되었다. 예를 들어, ActionListener를 구현하는 익명 클래스를 생성하여 버튼 클릭 이벤트를 처리할 수 있다.

 

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e){ 
        System.out.println("버튼이 클릭되었습니다!");
    }
});

 

이를 람다식으로 표현하면 훨씬 간결하게 표현할 수 있다.

button.addActionListener(e -> System.out.println("버튼이 클릭되었습니다!"));

 

 

람다식의 문법

 

람다식의 기본적인 구조와 문법은 다음과 같다.

 

  1. 파라미터 목록

람다식은 메서드와 마찬가지로 파라미터를 가질 수 있다. 파라미터가 없을 때는 빈 괄호를 사용하고, 하나의 파라미터일 때는 괄호를 생략할 수 있다. 두 개 이상의 파라미터일 경우에는 괄호를 사용한다.

() -> System.out.println("Hello, world!");
(int x) -> x * x;
(String s, int n) -> System.out.println(s + n);

 

  1. 화살표(->)

람다식에서 파라미터 목록과 바디를 구분하는 데 사용된다. 파라미터 목록과 바디 사이에 위치한다.

 

  1. 바디

     

    람다식의 실행될 코드를 포함한다. 중괄호({})로 둘러싸여 있으며, 여러 줄의 코드를 포함할 수 있다. 단일 표현식인 경우 중괄호와 return 문을 생략할 수 있다.

(int x, int y) -> { return x + y; }
(int x, int y) -> x + y;

 

댓글을 작성해보세요.

채널톡 아이콘