generateBoard() 메소드 부분을 별도의 인터페이스로 분리
하지만 역시나 내용을 이해하기 힘들어 하는중 일단 생각나는 대로 짜보는중