[Java] lambda

szlee·2022년 6월 9일
0

Java

목록 보기
2/23

람다 표현식

: 메소드를 하나의 식으로 표현한 것
메소드를 람다 표현식으로 표현하면 클래스를 작성하고 객체를 생성하지 않아도 메소드를 사용할 수 있다.

(매개변수) -> {함수몸체}





Variable used in lambda expression should be final or effectively final
원인 : 람다 실행 시 실행되던 메소드의 스택 영역에 저장되는 외부 변수들에 대해서는 참조만 가능하고 값 변경은 불가. --> final or effectively final 변수만 사용 가능.

람다 캡쳐링 : 람다가 실행될 때 람다 캡쳐링 발생.
람다 캡쳐링 시 람다의 새로운 스택을 생성, 실행되고 있던 메소드의 스택 데이터들을 그대로 가져와 람다의 스택에 그대로 복사.





refer
refer
refer

profile
🌱

0개의 댓글