[인프런 워밍업 클럽] 과제 3일차
진도표 3일차와 연결됩니다
우리는 JdbcTemplate을 사용하는 과정에서 익명 클래스와 람다식이라는 자바 문법을 사용했습니다. 익명 클래스는 자바의 초창기부터 있던 기능이고, 람다식은 자바 8에서 등장한 기능입니다. 다음 키워드를 사용해 몇 가지 블로그 글을 찾아보세요! 아래 질문을 생각하며 공부해보면 좋습니다! 😊
[키워드]
익명 클래스 / 람다 / 함수형 프로그래밍 / @FunctionalInterface / 스트림 API / 메소드 레퍼런스
[질문]
자바의 람다식은 왜 등장했을까?
람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까?
자바의 람다식은 왜 등장했을까?
자바의 람다식은 코드의 간결성과 함수형 프로그래밍의 도입을 위해 등장했다.
람다식을 사용하면 익명 클래스를 생성하고 이를 바로 사용하는 과정을 단순화 시킬 수 있다.
이를 통해 코드가 간결해지며 가독성이 향상된다.
람다식은 함수형 프로그래밍 패러다임을 자바에 도입하는데 중요한 역할을 한다.
함수형 인터페이스의 인스턴스를 생성하여 함수를 변수처럼 선언하는 람다식에서는
메소드의 이름이 불필요하다고 여겨져서 이를 사용하지 않는다.
대신 컴파일러가 문맥을 살펴 타입을 추론한다.
람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까?
람다식과 익명 클래스는 둘 다 이름없이 사용되는 함수형 프로그래밍 요소이다.
익명 클래스는 클래스 선언과 객체 생성을 한번에 수행하는 방법으로서 일반적으로 인터페이스를 구현하거나 클래스를 상속받아 메서드를 오버라이드 하는데 사용된다.
람다식은 익명클래스를 더 간결하게 표현한 형태라고 볼 수 잇다. 람다식은 함수형 인터페이스를 구현하는데 사용된다.
함수형 인터페이스는 단 하나의 추상 메서드만을 가진 인터페이스를 말한다.
람다식 문법
// 람다식의 기본 문법
(parameters, ... ) -> { body }
/* parameters: 람다식이 받는 매개변수 리스트. 매개변수 타입은 생략 가능
>: 람다식의 표시
body: 람다식의 본문. 식 혹은 문장을 작성 가능.
만약 본문이 한 문장만 있는 경우 중괄호 {}를 생략 가능
*/
// 예시
(int a, int b) -> { return a + b; }
익명 클래스 문법
new SomeFunctionalInterface() {
@Override
public int someMethod(int a, int b) {
return a + b;
}
}
람다식은 더 간결하게 표현된다.
댓글을 작성해보세요.