클로저

OneTwoThree·2022년 7월 27일
0

부스트코스 코틀린

목록 보기
13/26

클로저

[부스트코스]클로저

외부 함수의 변수를 람다식에서 사용한다.
값을 가져오는 것이기 때문에 참조 형태이다.


main에서 addNum의 인자로 람다식을 전달한다.
addNum을 정의할 때는 반환값이 없었다. (Unit)
그런데 외부 변수인 result를 람다식에 넣고 x+y로 할당한다.
이렇게 하면 외부 변수인 result 값에 변화가 발생한다.

함수의 매개변수에 접근

filteredNames 함수 내부의 filter의 인자 {} 람다함수 내에서 바깥의 변수 즉 최상위 함수의 매개변수인 length에 접근한다.

클로저 구조는 포획 후 감싸서 특정한 데이터 구조를 갖기 때문에 이러한 것들이 가능하다.

0개의 댓글