람다식 (Lamda expression)

이진석·2022년 8월 18일
1
post-thumbnail

한 번에 끝내는 Java/Spring 웹 개발 마스터

  • 람다식 (Lamda expression)

1) 람다식 (interface)

package ch02;

public interface Add {

	int add(int x, int y);
}

2) 람다식 (addTest)로 실행

package ch02;

public class AddTest {

	public static void main(String[] args) {
		
		Add add = (x,y) -> {return x + y;}; 
		//Add add = (x,y) -> x+y;
		// 람다식 (Lamda expression)
		// 반환문은 중괄호 생략 불가능
		
		System.out.print(add.add(2, 3));
	}
}

  • 오늘은 람다식에 대해서 배웠다.

  • 람다식이란, "함수의 구현과 호출만으로 프로그래밍이 수행되는 방식"으로 함수형 프로그래밍이라고도 부른다.

  • (매개변수) -> {실행문;}의 구조로 진행되고, 위의 코드에서 Add add = 람다식 형태로 지정한 이유는 인터페이스에서 add라는 함수를 가져와서 실행하기 위해서이다.


3) MyNumber 클래스

package ch03;

@FunctionalInterface
public interface MyNumber {

	int getMax(int num, int num2);
}

4) MyTest 클래스

package ch03;

public class MyTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		MyNumber number = (x,y) -> {
			if(x>y) return x;
			else return y;
		};
		*/
		MyNumber number = (x,y) -> x> y? x:y;
		System.out.print(number.getMax(10,20));
	}

}

  • 람다식 복습 문제이다.
  • 위의 문제는 출력 형식을 2가지로 표현할 수 있는데, if문을 넣어서 표현해도 되지만, 람다식의 목적이 간단하게 표현하는 것이라서 (x,y) -> x> y? x:y;처럼 연산자를 이용해서 표기한다.
profile
혼자서 코딩 공부하는 전공생 초보 백엔드 개발자 / https://github.com/leejinseok0614

0개의 댓글