Ajudando a complementar...
Quando você cria um sistema que vai ser executado através de um método main, você tem um contexto para este sistema, por exemplo, preciso criar um robô que exporta os dados do banco de dados X para o banco de dados Y, então, você tem um contexto de um sistema (robô) que vai exportar dados, e este robô pode ter um monte de classes que representam diversos objetos presentes neste sistema, como estamos pensando num contexto de um robô, abstraindo, digamos que existam algumas classes que representem partes do robô, como Braço, Perna, Cabeça, e Tronco, porém estas classes sozinhas voando no sistema não fazem nada, é como se você observasse diversas partes de um robô sob uma mesa, estas diversas partes não tem vida sozinhas, é necessário uni-las ao contexto de execução de algo para que elas sejam úteis e funcionem em conjunto, e é exatamente a classe que une todas as outras que faz o robô funcionar que deve conter o método principal MAIN, ou seja, neste contexto, seria uma classe RoboAPP, CoracaoRoboAPP, AlmaRoboApp, PrincipalApp, ProjetoRoboApp etc...