인프런 워밍업 클럽 0기 백엔드 과제 #3
질문에 대한 내용을 채우는 과제이다

키워드
익명 클래스
이름이 없는 중첩 클래스
람다
람다식이란 쉽게 말해 메서드를 "하나의 식"으로 표현
하나의 식으로 표현하여 훨씬 간략하게 표현이 가능하게 되며, 메서드의 이름과 반환값이 없어지므로 "익명함수"라고도 함
참조
https://hstory0208.tistory.com/entry/Java자바-람다식Lambda이란-그리고-사용법
@FunctionalInterface
함수형 인터페이스
추상 메서드가 딱 하나만 존재하는 인터페이스
람다식은 함수형 인터페이스로만 접근이 가능
스트림 API
데이터를 추상화하고, 처리하는데 자주 사용되는 함수들을 정의
데이터의 종류에 상관 없이 같은 방식으로 데이터를 처리할 수 있다는 것을 의미하며, 그에 따라 재사용성을 높일 수 있다.
메소드 레퍼런스
람다식에서 불필요한 매개변수를 제거하여 사용할 수 있게 해주는 것
결국, 람다식을 좀 더 편하게 사용할 수 있도록 만드는 표현방법
질문1 - 자바의 람다식은 왜 등장했을까?
개발의 진화 -> 불편한 걸 더 편하게. 코드를 더 간결하고 보기 좋도록.
함수적 프로그래밍 기법
함수형 인터페이스 : 하나의 추상 메서드를 가지는 인터페이스
익명메서드를 생성하는 방식
이점
- 코드의 간결함
- 컬렉션 요소(대용량 데이터)를 필터링 혹은 매핑하여 쉽게 데이터의 집계가 가능함
- 병렬처리의 가능과 안정적인 확장성
질문2 - 람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법은 어떻게 될까?
내부 익명클래스로 메소드 내에 구현체 만드는 부분이 불편해 람다식이 나왔다고 생각한다.
이런 익명클래스 구현
람다식 문법
아래 게시글이 잘 정리 되어있어 게시글 참조
https://developer-talk.tistory.com/499#google_vignette
느낀점
나는 C#으로 개발하는데 C#의 대리자와 많이 비슷해서 친숙하다.
특히 LINQ 메서드식 문법이 컬렉션 필터, 매핑 관련된 문법과 비슷해보였다.
하지만 막상 사용하려고 보니 문법이 꽤 달라 어려움을 겪었다.
참조
https://velog.io/@zayson/Java-%EB%9E%8C%EB%8B%A4%EC%8B%9DLambda-Expression
https://developer-talk.tistory.com/499#google_vignette
'JAVA&스프링' 카테고리의 다른 글
어노테이션이란 [인프런 워밍업 클럽] (0) | 2024.02.19 |
---|