- 에너테이션
- 소스 코드가 컴파일되거나 실행될 때 컴파일러 및 다른 프로그램에게 필요한 정보를 전달해 주는 문법 요소

- 람다
- →
- 람다식을 쓸 때에는 항상 함수형 인터페이스가 필요함.
- 스트림
- 스트림 처리 과정은 생성, 중간 연산, 최종 연산 세 단계의 파이프라인으로 구성될 수 있다.

- 스트림은 원본 데이터 소스를 변경하지 않는다(read-only).
- 스트림은 일회용이다(onetime-only).
- 스트림은 내부 반복자이다.
- 최종적으로 단 한 번의 연산만 가능
- 데이터 처리 방식: Lazy 그리고 Short-circuit
- Optional 클래스: null을 다른 값으로 바꿀 수 있음.