이전 캡슐화와 이어지니 참고바람
탬플릿?
반복적인 작업을 간편하게 하기 위해 미리 정의된 틀이나 형식
자식들이 사용하고 있는 것을 공통적으로 끌어올리는 것이다.
공통적인 것이 뭐가 있는가?
입장하기 출석 부르기, 퇴장하기, 수업하기가 있고
강의하기 빼고 다 공통적이다
그래서 teacher 추상 메서드를 만들었다
package ex05.teacher;
public abstract class Teacher {
public abstract void 수업하기();
public abstract void 입장하기();
public abstract void 출석하기();
public abstract void 강의하기();
public abstract void 퇴장하기();
}
이 친구를 상속해서 만들어라
근데 강의하기 빼고 수업, 입장, 출석, 퇴장은 모든 선생님들이 사용한다
강의만 누가 어떤 것을 할지 모르겠으니
package ex05.teacher;
//이게 바로 탬플릿이다!! jsp로 탬플릿 메서드 패턴 가운대만 바뀌는 것이니까
public abstract class Teacher {
public void 수업하기(){
입장하기();
출석부르기();
강의하기();
퇴장하기();
}
public void 입장하기(){
System.out.println("입장하기");
}
public void 출석부르기(){
System.out.println("출석부르기");
}
public abstract void 강의하기();
public void 퇴장하기(){
System.out.println("퇴장하기");
}
}
public abstract void 강의하기();
재정의 해주고 다른 것은 재정의 할 필요 없음공통적인 것을 뽑아내면서 만드는 것이 부모다
보통은
부모를 만들고 자식을 만드는게 상속이라는 것인데 반대로 자식을 먼저 만들고 부모 만든다
@@구체적인 것들 중 공통적인 것을 뽑아 내서 사용한다@
개발할 때 모든 것을 생각하고 만들지는 않는다 어차피 수많은 변수들이 나오기 때문에
위에서 내려오는 명령 모든 것 그대로 만들어라 → 폭포수 모델
1~2 2~3 단계별로 쪼개고 각 단계 핵심 로직만 빼고 이걸로 프로토 타입을 만든다 (금방 만든다)
→ 이것의 장점은? 피드백을 빨리 받을 수 있다(협업할 때 필요한 것 방식 등을 알 수 있다.)
그림 설명

Share article