Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 그리디
- Spring Boot
- Android
- springdatajpa
- java
- JPQL
- Proxy
- 스프링 핵심 원리
- pointcut
- 스프링
- kotlin
- 백준
- 김영한
- http
- transaction
- Thymeleaf
- 알고리즘
- SpringBoot
- 인프런
- spring
- AOP
- QueryDSL
- 스프링 핵심 기능
- jpa
- db
- JDBC
- Servlet
- 자바
- Exception
- Greedy
Archives
- Today
- Total
개발자되기 프로젝트
Template Method - 예제3, 익명 내부 클래스 본문
1. 익명 내부 클래스
- 템플릿 메서드 패턴은 SubClassLogic1, SubClasLogic2처럼 클래스를 계속 만들어야 하는 단점이 있음.
- 귀찮아!
- 익명 내부 클래스를 사용하면 단점을 보완 가능함!
- 익명 내부 클래스를 사용하면 객체 인스턴스를 생성하면서
동시에 생성할 클래스를 상속 받은 자식 클래스를 정의할 수 있다. - 이 클래스 SubClasJogic1처럼 직접 지정하는 이름이 없고 클래스 내부에 선언된 클래스여서 익명 내부 크래스라 함.
2. Test
@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 실행");
}
};
}
클래스 이름1 = class hello.advanced.trace.template.TemplateMethodTest$1
비즈니스 로직 1 실행
resultTime = 0
비즈니스 로직 2 실행
resultTime = 0
클래스 이름2 = class hello.advanced.trace.template.TemplateMethodTest$2
3. GitHub : 211122 TeplateMethod example3
'인프런 > [인프런] 스프링 핵심 원리 - 고급' 카테고리의 다른 글
Template Method - 적용2 (0) | 2021.11.22 |
---|---|
Template Method - 적용1 (0) | 2021.11.22 |
Template Method - 예제2 (0) | 2021.11.22 |
Template Method - 예제1 (0) | 2021.11.22 |
Template Method - 시작 (0) | 2021.11.22 |
Comments