익명 클래스는 객체를 생성함과 동시에 오버라이드를(클래스를 정의) 할 수 있다.
@Test
void templateMethodV2(){
AbstractTemplate template1 = new AbstractTemplate() {
@Override
protected void call() {
log.info("비즈니스 로직1 실행");
}
};
AbstractTemplate template2 = new AbstractTemplate() {
@Override
protected void call() {
log.info("비즈니스 로직2 실행");
}
};
template1.execute();
template2.execute();
}
저렇게 가상 클래스를 new 하면 인텔리제이가 오버라이드 하는 틀을 만들어 준다.
이거면 미사여구가 많긴 하지만, 그래도 비즈니스 로직이 보인다.
잘 된다.
참고로, 익명 클래스의 클래스 명은
getClass() 해서 로그로 찍어보면
그 익명 내부 클래스를 정의한 클래스이름$넘버
가 된다.
미사여구가 많다는 점이 좀 그렇긴 하다.
'스프링 > 스프링 핵심 원리 - 고급편' 카테고리의 다른 글
21. 전략 패턴 (0) | 2024.01.17 |
---|---|
20. 템플릿 메서드 패턴 적용 (0) | 2024.01.15 |
18. 템플릿 메서드 패턴 예제 (0) | 2024.01.14 |
17. 템플릿 메서드 패턴 (0) | 2024.01.14 |
16. 쓰레드로컬 주의사항 (0) | 2024.01.14 |