728x90
☕ 실습 예제
Controller.java
package com.example.fw;/*
Controller의 종류가 여러개더라
초기화 - 같은 코드
실행 - 다른 코드
마무리 - 같은 코드
*/
public abstract class Controller {
public void init(){
System.out.println("초기화 하는 코드");
}
public void close(){
System.out.println("마무리 하는 코드");
}
// 내가 가지고 있는 메소드를 호출한다
// 어떤 순서를 가지고 있다. 이런 메소드를 템플릿 메소드라고 한다.
public abstract void run(); // 매번 다른 코드
public void execute(){
this.init(); // this. 생략가능
this.run();
this.close();
}
}
FirstController.java
package com.example.myproject;
import com.example.fw.Controller;
public class FirstController extends Controller {
@Override
public void run() {
System.out.println("별로도 동작하는 코드 1111");
}
}
ControllerMain.java
package com.example.main;
import com.example.fw.Controller;
import com.example.myproject.FirstController;
public class ControllerMain {
public static void main(String[] args) {
Controller c1 = new FirstController();
c1.execute();
}
}
'''결과값
초기화 하는 코드
별로도 동작하는 코드 111111
마무리 하는 코드
728x90
'개발&etc > JAVA' 카테고리의 다른 글
[JAVA] 인터페이스 & 로또 번호 생성기 만들기 (0) | 2023.04.05 |
---|---|
[java] final 클래스, 불변객체 String (0) | 2023.03.30 |
[java] 추상 클래스 (0) | 2023.03.30 |
[java] 생성자 (0) | 2023.03.30 |
[java] object의 오버라이딩 하라고 제공하는 toString(), equals(), hashCode() 메소드 사용방법 (0) | 2023.03.22 |