익명 클래스를 람다로 바꿀 때 주의해야 할 점

라헬·2022년 12월 25일
0

Babo b1 = () -> System.out.println("바보");
이렇게 람다식으로 사용할 수 있지만 모든 익명 클래스를 람다 표현식으로 변환할 수 있는 게 아니라는 점을 알고 사용해야된다.

🖤 익명클래스에서 사용한 this와 super는 람다에서 다른 의미를 가진다.
익명 클래스에서 this는 자신을 가리키지만 람다에서는 감싸는 클래스를 가리킨다.

🖤 익명클래스는 감싸고 있는 클래스의 변수를 가릴 수 있다. 하지만 람다는 변수를 가릴 수 없다.

profile
성장하고 싶은 풀스택 개발자

0개의 댓글