반응형

강의 링크
김영한의 실전 자바 - 고급 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
}
// 아무 출력도 없음 (연산이 실제로 안 됨)
}
}

즉 즉시평가는 불필요한 연산이 있어도, 바로 실행되는 것이고,
지연평가는 연산이 꼭 필요할 때 실행되는 것이다.

반응형
'JAVA' 카테고리의 다른 글
태태개발일지 - 김영한 java 고급 (람다) 람다 총정리 (0) | 2025.09.05 |
---|---|
태태개발일지 - 김영한 java 고급 디폴트 메서드 (3) | 2025.08.11 |
태태개발일지 - 김영한 고급 JAVA LAMBDA (2) | 2025.07.28 |
태태개발일지 - flatMap (2) | 2025.07.08 |
태태개발일지 - 김영한 고급JAVA (LAMBDA) (1) | 2025.05.26 |