개요 당연하게 사용하던 Java의 람다 기능에 대해서 의문을 갖지 않고 막 써댔다. 그렇지만, 면접에서의 질문을 받았을 때 당황했다. 뜬금포로 final을 쓰고 안쓰고의 차이를 물어보셨는데 순간 답변을 하지 못했다. 그래서 정리해본다. 람다 캡쳐링에 대해서 알아보기 이전에 Effectively final에 대해 먼저 알아보자. Effectively Final 이란? 해당 단어를 deepL을 통해 해석해보면 사실상 최종 이라고 해석해준다. final을 선언한 상수와 같이 변경되지 않았다면 그와 같은 수준으로 컴파일러가 해석해준다. effectively final이 되려면 아래의 3가지 조건을 만족해야 한다. 아래 3가지 조건은 공식문서를 통해서 나와있는 정보들이다. 명시적인 final을 선언하지 않았다. ..