Variaveis dentro de funções ficam disponível apenas dentro do escopo em que elas estão, exemplo:
fun main() {
var totalContas = 0
fun outraFuncao() {
var totalGeral = totalContas + 1
}
}
Como a classe Conta pertence a outro escopo, ela não conhece essa variavel.
Se fosse uma classe main, ao invés de uma função, então aclasse Conta
poderia ter acesso a variavel totalContas
, se fosse implementado uma instancia dessa classe main
A respeito da sua outra dúvida. Os códigos se iniciam a partir da função main.
Se sua dúvida é referente a variavél que é criada dentro da classe conta e é atualizada, mesmo sem ter uma instância propriamente de conta:
Isso acontece porque conta poupança e conta corrente, herdam
de conta, por isso ao instaciá-las o código contido em Conta também é executado.