Первый сложный код в книге - игра "Морской бой" ("SimpleDotCom"). Спасибо JavaRush - в принципе, все понятно: создали, передали, взяли, проверили, повторили. Но возник вопрос: реализация выполнена в виде 4 файлов (классов). Почему 4? Ну, допустим, тестовый вынесли - он нужен для теста и в релиз не входит - тогда остается 3 файла. Зачем писать так? Осознаю, что понимание этого придет само по себе позже, но может кто блеснёт знанием и напишет простым языком: надо ли делить на классы? По какой логике? Лучше - больше классов? Меньше? Как выбрать нужное количество? Чем руководствоваться при их создании?