특정 환경 or 상황에 맞게 확장, 변경할 때 유용한 패턴

추상 클래스, 구현 클래스 둘로 구분.

추상클래스 (Abstract Class) : 메인이 되는 로직 부분은 일반 메소드로 선언해 둠.

구현클래스 (Concrete Class) : 메소드를 선언 후 호출하는 방식.