1 - Você descrevendo me parece que você tem dificuldade em conectar um conhecimento novo a um conhecimento que você já tem. É isso mesmo?
2 - Entendo e acredito que isso tenha bastante relação com o comentário do raf
. Você tem trabalhado em projetos pequenos e esse tipo de coisa (módulos e packages) faz muito sentido quando você trabalha em projetos maiores e com mais pessoas além de você.
3 - Quando você fala de privacidade, entendo que esteja falando de níveis de acesso (público, protegido e privado) e respondo com isso em mente. Caso não seja, por favor me corrija. A questão da privacidade (que também tem um impacto maior em projetos maiores) tem mais relação com a propagação de alterações. Se um método é privado sei que posso alterar ele com segurança pois não irá impactar outra parte do código fora da classe atual. Quando você altear um método público (tipo do parametro, quantidade de parametros, nome, retorno...) você precisa ajustar todo o código que usa aquele método e dependendo dos ajustes eles irão se propagar pela sua base de código. E isso tem um custo. Alterações demandam testes e muitas alterações demandam muitos testes.
4 - Entendo e sua lógica faz bastante sentido. Mas não entendi a conexão com a necessidade de evidenciar isso na forma de diagramas.
Em outras respostas você cita a necessidade de desenhar diagramas. Isso facilita o seu aprendizado e entendimento ? Ou é algo que você acredita que precisa fazer pois foi dessa forma que você aprendeu ?
1 - corretissímo, principalmente por não ter feito muitos projetos que exigam ser quebrados em menores parte para crescer.
2 - Consegui ter essa conciencia através da postagem.
3 - Capitou a ideia muito bem.
4 - A questão dos diagramas é algo que me facilita a não me perder, e sinto que isso pode me ajudara a criar programas mais complexos, que provavélmente pode começar a me ajudar na questão das abstrações, e também facilitaria na hora de tentar divulgar a ideia para tentar encontrar pessoas que estejam estudando temas parecidos ou pessoas dispostas a trazerem comentários de uma forma mais rápida quanto ao projeto e não necessáriamente o código.