본문 바로가기
3.1 SpringBoot/Java

[JAVA/기초] 람다식

by Dohi._. 2024. 7. 20.
728x90

람다 표현식(Lambda Expression)

메소드 대신 하나의 식으로 표현

  • 익명 함수 (Anonymous function)
(매개변수,..) ->{실행문}

(int x,inty)->{return x+y;}

장단점

  • 장점
    • 일반적으로 코드가 간결
    • 코드 가독성이 높아짐
    • 생산성 증가
  • 단점
    • 재사용 불가 (익명)
    • 디버깅 어려움 ( 메소드를 중간중간 확인 하면서 불가)
    • 재귀함수로는 맞지 않음 (이름이 없다보니 재사용불가)

인터페이스에 사용예시

 interface B {
    public abstract int plus(int num1, int num2);
    //public abstract int minus(int num1, int num2);
}

public class A {
    public static void main(String[] args) {
        // 익명클래스
        B b1 = new B() {
            @Override
            public int plus(int num1, int num2) {
                return num1 + num2;
            }
        };
        System.out.println(b1.plus(10, 11));


        // 람다식으로 작성
         B b2 = (num1, num2) -> { return num1 + num2;};
         System.out.println(b2.plus(10, 11));
    }
}

//public abstract int minus(int num1, int num2); 의경우는 익명클래스의 경우
매개변수의 갯수가 같아도 선언하여 사용가능하지만

람다식에서는 불가능하다.

728x90

'3.1 SpringBoot > Java' 카테고리의 다른 글

[Java/기초] 주석  (0) 2024.07.22
[Java/기초] 스트림  (0) 2024.07.21
[JAVA/기초] 컬렉션프레임워크  (2) 2024.07.19
[java/기초] 예외처리  (0) 2024.07.16
[Java/기초] 입출력  (0) 2024.07.14

댓글