추상 메소드가 오로지 단 한 개만 있는 인터페이스다.SAM(Single Abstract Method) 인터페이스다.@FuncationInterface 어노테이션을 가지고 있는 인터페이스다.\--> 정답 : 맞다 RunSomething 인터페이스는 static 메소드도
Function<T,R> T 타입을 받아서 R 타입을 리턴하는 함수 인터페이스R apply(T t)함수 조합용 메소드andThencomposeBiFunction<T,U,R>두 개의 타입(T,U)를 받아서 R 타입을 리턴하는 함수 인터페이스R apply(T t
(인자 리스트) -> {바디}인자가 없을 때 : ()인자가 한개일 때 : (one) 또는 one인자가 여러개 일 때 : (one,two)인자 타입은 생략 가능, 컴파일러가 추론하지만 명시할 수도 있다. (Integer one, Integer two)화살표 오른쪾에 함수
람다가 하는 일이 기존 메소드 또는 생성자를 호출하는 거라면, 메소드 레퍼런스를 사용해서 매운 간결하게 표현할 수 있다.\|:-:\|\|:-:\|| 스태틱 메소드 참조 | 타입:: 스태틱 메소드 || 특정 객체의 인스턴스 메소드 참조 | 객체 레퍼런스:: 인스턴스 메소
sequence of elements supporting sequential and parallel aggregate operations = 연속된 데이터를 처리하는 오퍼레이션들의 모음데이터를 담고 있는 저장소 (컬렉션)가 아니다. Functional in natu
Filter(Predicate)ex) 이름이 3글자 이상인 데이터만 새로운 스트림으로 Map(Function) 또는 FlatMap(Function)ex) 각각의 게시글 인스턴스에서 String title만 새로운 스트림으로ex) LIst<Stream>을 Strin
ex)GreetingInterface를 구현한 DefaultGreeting 클래스가 있다고 가정하면 DefaultGreeting 클래스는 GreetingInterface가 선언한 메소드를 구현해야 한다.그런데 나중에 아래와 같이 GreetingInterface를 구현할
forEach() forEach 안에 Consumer<? super E> action이 들어오기 때문에 메소드 레퍼런스로 줄여서 사용 가능하다. spliterator()쪼갤 수 있는 iterator, iterator의 hasNext() 대신 tryAdvance()