개발 관련 부가 지식/자바, 스프링

자바 (함수형 프로그래밍) 람다식

Developer-Choi 2023. 5. 5. 15:15
728x90
728x90

자바는 객체 지향 프로그래밍을 지원한다.

 

하지만 간단한 기능을 수행하는데 객체지향으로는 너무 번거로워서

자바 8부터는 함수형 프로그래밍을 지원하게 되고 이를 람다식이라 부른다

 

비교 👀

비교할 기능 (해당 interface를 통해 비교해보자)

public interface Add {
	public int add(int x, int y);
}

 

1. 객체 지향 프로그래밍에서 기능 수행 절차

1-1 클래스 생성, 구현할 기능을 가진 메소드 정의

public class AddImpl implements Add{
    @Override
    public int add(int x, int y) {
        return x+y;
    }
}

1-2 해당 클래스 객체를 생성 ,객체가 가진메소드를 실행

public class TestAdd {
	public static void main(String[] args) {
		AddImpl addImpl = new AddImpl();
		System.out.println(addImpl.add(11,22));
	}
}

 

2. 함수형 프로그래밍(람다식) 기능 수행 절차

2-1  람다식을 통해 함수 구현 및 함수 실행

public class TestAdd {
	public static void main(String[] args) {
		Add addF = (x, y)-> x+y;
		System.out.println(addF.add(11, 22));
	}
}

 

Tip✨

람다식 사용 시, 인터페이스는 하나의 메소드만 갖고 있어야함

(@FunctionalInterface를 달면 메소드가 1개가 넘어 갈 시 컴파일 오류를 발생시킴)

@FunctionalInterface
public interface Add {
	public int add(int x, int y);
}

 

 

👏

👏