Lambda : 로컬 변수에는 최종, 인스턴스 변수는 필요하지 않습니다. 람다에서 지역 변수는 최종적이어야하지만 인스턴스 변수는 그렇지 않습니다. 왜 그렇습니까? 필드와 로컬 변수의 근본적인 차이점은 JVM이 람다 인스턴스를 만들 때 로컬 변수가 복사 된다는 것 입니다. 반면에 필드는 변경 사항이 외부 클래스 인스턴스로 전파되기 때문에 자유롭게 변경할 수 있습니다 (그 범위 는 Boris가 아래에서 지적한대로 전체 외부 클래스입니다). 익명 클래스, 클로저 및 labmdas에 대해 생각하는 가장 쉬운 방법은 가변 범위 관점에서 보는 것입니다. 클로저에 전달하는 모든 지역 변수에 대해 추가 된 복사 생성자를 상상해보십시오. 프로젝트 람다 문서에서 : State of the Lambda v4 섹션 7. 변수..