home > record > diary > [diary] 제네릭타입에 Void라는게 있네?

[diary] 제네릭타입에 Void라는게 있네?
record diary void

intro : 제네릭에는 신기한 부분이 정말 많구나, 파도파도 뭐가 자꾸 나온다

image1

(이건 코드 부터 봐야한다.)
public void orderItem(String itemId) {
     AbstractTemplate<Void> template = new AbstractTemplate<>(trace) {
            @Override
            protected Void call() {
                orderRepository.save(itemId);
                return null;
            }
        };
    template.execute("OrderService.orderItem()");
}

스프링 고급편 강의를 듣던중 템플릿 메서드 패턴에 대허서 공부를 하고 있었는데, 템플릿을 제공해주는 추상클래를 익명객체로 생성을 하던 도중, 반환타입이 없는경우에 대해서 Void라는 타입을 지정하여 코드 구성을 하는 것을 보고 너무 신기해서 기록해 봤다. 더 특이한 점은 null을 return 한다는 점. 은근히 제네릭을 사용할떄마다 특이한 부분이 자꾸 보이는 듯 하다.