lazy evaluation

    [JAVA 8] Supplier

    Supplier interface 함수형 인터페이스를 공부하면서 Java가 기본으로 제공하는 인터페이스 중 Supplier를 알게 되었습니다. 이 인터페이스는 구현체에서 반환할 타입을 지정하고 추상 메서드인 get() 메서드를 재정의하여 지정된 타입의 값을 반환받는 아주 간단한 인터페이스입니다. 저는 이 인터페이스의 존재가 "굳이..?" 라는 생각이 들어서 찾아보니 Lazy Evaluation을 위해서 존재한다는 것을 찾게 되었습니다. Lazy Evaluation 이것은 불필요한 연산을 피하기 위해서 연산을 지연시키는 것을 뜻합니다. 뜻만 알아서는 존재의 이유를 잘 모르겠어서 예제를 통해 이해해 보겠습니다. 추상 메서드인 get() 메서드를 재정의하여 현재 시간을 time 변수에 저장하고 3초를 멈추었다..