람다식(Lambda expression)?
자바가 객체지향언어라는 사실은 모두가 익히 아는 사실이었지만
람다식으로 인해 객체지향언어인 동시에 함수형 언어가 되었다는 사실은
아직도 많은 사람들이 모르는 듯 하다.
💡 람다식은 메서드를 하나의 식으로 표현한 것인데 이 식은 간략하면서도 명확한 표현을 할수 있게 해준다. 💡 람다식을 사용하면 메서드의 이름과 반환값이 없어지는데 이것을 익명함수 라고도 한다. |
람다식 사용 전
랜덤 숫자를 넣기 위해 randomNum 메소드를 만들었다.
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.setAll(arr, randomNum());
}
int randomNum() {
return (int)(Math.random*5) + 1;
}
람다식 사용 후
람다식을 이용해 메소드 없이 간략하게 코드를 구현했다.
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.setAll(arr, (i) -> (int)(Math.random() *5 ) + 1);
}
위의 짧은 코드를 보면 람다의 대략적인 기능을 파악이 될 것이다.
메소드를 호출하기 위해서는
1. 클래스 생성 2. 클래스 안에 메소드 생성 3. 코드에 객체를 생성 4. 메소드 호출 |
이 모든 과정 없이 람다식 만으로 메소드의 역할을 대신할 수 있다.
댓글