템플릿 메소드 패턴

**기본적인 로직의 흐름을 서브 클래스가 확장**할 수 있도록 템플릿처럼 제공하는 방법

추상 클래스는 템플릿을 제공하고 서브 클래스에서 로직을 구현

구현 방법

슈퍼클래스에 기본적인 로직의 흐름을 만들고 기능을 추상 메소드나 오버라이딩이 가능하도록 만든 뒤

**서브클래스에서 이런 메소드를 필요에 맞게 구현해서 사용**하도록 하는 방법

예시 코드

public abstract class Car {
		
		void stopping() {}
	
		void running() {}
}

public class GoodCar {

		@Override
		void stopping() {
			System.out.println("좋은 브레이크");
		}

		@Override
		void running() {
			System.out.println("빠른 속도");
		}
}

예시가 조금 이상하지만 위처럼 템플릿을 제공하고 그에 따른 구현을 한다