자주 변하는 부분을 메소드 분리.
공통 라이브러리 부분을 새로운 클래스로 빼기 .
새로뺀 클래스에서 공통적인 건 나두고 변하는 부분을 템플릿 메소드 패턴으로 분리
템플릿 메소드 패턴을 쓰니 단점이 안쓰는 메소드도 구현해야되는 게 있다.
그래서 인터페이스로 빼서 인터페이스를 주입하는 방식으로 구현
점진적 리팩토링이 좋다.
제네릭으로 캐스팅 없애자.