Java ‐ 람다 vs 익명 클래스 - dnwls16071/Backend_Summary GitHub Wiki
📚 람다와 익명 클래스의 차이점
- 익명 클래스
- 컴파일 시 실제로 OuterClass$1.class와 같은 클래스 파일이 생성된다.
- 일반적인 클래스와 같은 방식으로 작동한다.
- 해당 클래스 파일을 JVM에 불러서 사용하는 과정이 필요하다.
- 람다
- 컴파일 시점에 별도의 클래스 파일이 생성되지 않는다.
- 자바를 실행하는 시점에 동적으로 필요한 코드를 처리한다.
[상태 관리 측면]
- 익명 클래스는 인스턴스 내부에 상태(필드, 멤버 변수)를 가질 수 있다.
- 반면 람다는 클래스 내부에 상태와 기능을 가지기 때문에 함수는 그 내부에 상태를 가지지 않고 기능만을 제공한다.
- 함수인 람다는 기본적으로 상태를 유지하지 않는다.