인터페이스를 선언하고 여러 곳에서 구현하려다 실패.
맵으로 전격 수정!