
[Java] 람다식에서의 지역변수 접근 제약
·
공부
🤔 람다 및 익명 Inner Class에서 외부의 지역 변수에 접근할 때는final 혹은 effectively final인 변수만 접근 가능하다Java로 람다를 다룰 때 한 번쯤은 들어봤을 이야기다.필자는 자바스크립트의 람다를 생각하고 개발하다가 여기저기서 컴파일 오류가 나서 뒤늦게 알게 됐었다.'왜 자바스크립트는 되는데 자바는 안돼? 😟' 라는 생각이 들어서 당시 이것저것 찾아본 내용을 정리했다. 관련 용어effectively finalfinal이 붙지 않았음에도 실행 전후로 값 수정이 없어 사실상 final인 변수자유 변수람다식의 인자로 넘겨지지 않은 변수, 즉 람다 기준 외부에서 정의된 변수람다 캡처링람다 스코프 외부의 자유변수를 복사해오는 것. 값 복사 방식과 참조 복사 방식으로 나뉜다.개요S..