orElse
•
method의 return값
◦
if present, the value
◦
otherwise, other
◦
orElse는 Type Parameter를 Parameter로 받는다. ⇒ 값
▪
Parameter가 method인 경우, 해당 method가 return한 값을 뜻한다.
▪
따라서, Method가 Parameter로 전달된 경우, 해당 Method를 실행한 결과 값을 인자로 받는다.
▪
Method를 인자로 전달할 경우, null여부와 관계없이 Method를 실행하게 된다.
orElseGet
•
method의 return값
◦
if present, the value
◦
otherwise, the result produced by the supplying function (== Supplier.get())
◦
즉, null일 경우 Supplier를 호출한다. 아닐 경우 Supplier를 호출하지 않는다.
▪
orElseGet은 null인 객체가 넘어온 경우에만 Supplier interface를 사용하여 생성된 값을 반환한다.
▪
Method를 인자로 전달하였더라도, null일 경우에만 Supplier가 생성된다.