repository.findby** 등을 사용할 때 optional로 반환하는 함수를 사용할 때, 해당 값은 null을 가질 수 있으므로 null에 대한 처리가 필요하다.
.orElse를 사용하면 null일 때 대신 넣어줄 값을 정해줄 수 있다. 이때 orElse뒤에 붙는 괄호 안에 넣는 값에 따라 주의 사항이 있다.
orElse 는 parameter로 값을 받기 때문에 orElse 뒷 부분의 함수를 넣으면 그 함수가 무조건 실행되며
orElseGet 은 비교문을 통해 Optional의 value가 null일 때만 실행된다는 차이가 있다.