[더 자세한 내용은]
- 케빈님 영상 : https://www.youtube.com/watch?v=bKzMl7LKIO0&index=21&list=PLRIMoAKN8c6O8_VHOyBOhzBCeN7ShyJ27
[단순히 syntactic sugar 아니네요]
- 단순하게 컴파일 타임 때 Anonymous class 형태로 바뀌지않음
1) 스코프가 다름 : 자체스코프 가지나 안가지나
- 익명클래스는 외부 인스턴스 필드에 접근 스코프 액세스 메서드도 만들어줌 : access$000 (getter), 접근할 방법이 없으니깐
2) 파일 생성이 달라(클래스 - 인스턴스 생성 달라) : 익명클래스 수만큼 클래스 파일 추가, 람다는 따로 생성안하고 람다레시피 추가
- 디컴파일 : javap -c -p 파일명.class (Anonymous 디컴파일 : 파일명 $ 앞에 \)
- 람다식 : 클래스(정보)를 가지고 와서 생성X
(1) 람다레시피(Lambda MetaFactory 추가)를 가지고 런타임에 클래스, 객체 생성한대요 : 클래스 파일 따로 추가하지않아요
(2) 똑같은 것 요구하면 캐시해놨다가 그대로 사용 : 속도가 빨라요
'java' 카테고리의 다른 글
[Java] IO - 바이트 단위 IO 개념 그리고 예제코드 repo (0) | 2017.12.07 |
---|---|
[Java] 자바 IO - IO, 스트림 개념 (0) | 2017.12.07 |
[Java] 자료구조 API - 컬렉션프레임워크 (0) | 2017.11.08 |
[Java] java8 - Functional Programming이 뭘까 왜 쓰지 그리고 람다식은? (0) | 2017.11.02 |
[Java] 제네릭, 와일드카드 - 제네릭, 와일드카드는 깊게 알수록 복잡하다 (0) | 2017.10.28 |
댓글