개발 관련 부가 지식/자바, 스프링
자바 (함수형 프로그래밍) 람다식
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);
}
👏
👏