본문 바로가기
Java

람다식(Lambda Expressions)

by 죠스^ 2021. 4. 10.

Java8부터 지원한다

 

국내 대부분의 Java버전은 8이라고 한다. 

 

Java8보다 최신버전은 있지만 전자정부프레임워크 때문이지 않을까?

 

람다식은 익명함수(anonymous function)를 생성하기 위한 식으로 객체지향 언어보다 함수지향 언어에 가깝다고 한다. 

 

현재 코딩스타일도 함수형 코딩이 대세라고 한다. 하지만 나는 모르는게 많으니 람다식을 이해하는데 힘쓰자

 

람다식을 공부하기 전에 알아야 하는 부분

 

1. interface는 구현해서 사용해야한다.

 

2. interface 자체를 생성할 수는 없다. 

 

Runnable이라는 interface가 있다. 이 interface에는 run()이 있다.

 

여기서 인터페이스의 익명 구현 객체를 생성하는 전형적인 코드는 아래와 같다고 한다. 

 

<interface Runnable> 이미지 - 1

interface 안에는 추상메소드가 들어갈 수 있다.

 

abstract를 붙여주지 않아도 추상으로 반영된다. 

 

<익명 구현 객체> 이미지 - 2

인터페이스 Runnable에 있는 run()을 오버라이딩해서 객체를 구현하는데 이름이 없어서 익명구현객체?!

 

<익명 구현 객체, 람다식> 이미지 - 3

코드를 간단하게 작성할 수 있게 되었다. 

 

간단한 코드에서는 차이가 크게 느껴지지 않을 수 있지만 일단 공부해보자 

 

JavaScript에서도 애로우펑션과 똑같이 느껴진다.