JAVA

태태코딩 - 김영한 고급 java 람다

태태코 2025. 7. 29. 15:28
반응형

 

강의 링크

https://inf.run/EXqku

 

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍| 김영한 - 인프런 강의

현재 평점 5점 수강생 3249명인 강의를 만나보세요. 최신 자바에 꼭 필요한 람다, 스트림, 자바를 활용한 함수형 프로그래밍 기술을 기초부터 실무 레벨까지 깊이있게 학습합니다. 람다, 함수형

www.inflearn.com

 

즉시평가와 지연평가

 

 

get 과 getElse의 차이를 알기 위해 간단한 코드구현

 

1. 즉시평가

public class EagerEvaluationIf {
    public static int calc() {
        System.out.println("즉시평가: 연산이 수행됨!");
        return 42;
    }

    public static void main(String[] args) {
        int result = calc(); // 여기서 이미 연산 발생!
        if(false) {
            // 이 코드는 실행되지 않음
            System.out.println(result);
        }
        // 출력: 즉시평가: 연산이 수행됨!
    }
}

 

 

 

2.지연평가

 

public class LazyEvaluationIf {
    public static int calc() {
        System.out.println("지연평가: 연산이 수행됨!");
        return 42;
    }

    public static void main(String[] args) {
        if(false) {
            System.out.println(calc()); // 조건이 false이므로 calc() 호출 X
        }
        // 아무 출력도 없음 (연산이 실제로 안 됨)
    }
}

즉 즉시평가는 불필요한 연산이 있어도, 바로 실행되는 것이고,

지연평가는 연산이 꼭 필요할 때 실행되는 것이다.

 

 

반응형