작성
·
325
1
public class TraceTemplate {
private final LogTrace trace;
public TraceTemplate(LogTrace trace) {
this.trace = trace;
}
public <T> T excute(String message, TraceCallBack<T> callback){
TraceStatus status = null;
try {
status = trace.begin(message);
//로직 호출
T result = callback.call();
trace.end(status);
return result;
} catch (Exception e) {
trace.exception(status, e);
throw e;
}
}
}
위 콜백 템플릿 에서 메서드 반환이 T 제네릭인건 이해가 되는데
왜 반환이 T가 2번 쓰이는걸까요?