Qualquer linguagem permite essa abstração, mas poucas exigem ela. E essa exigência é que trás a segurança de não rolar um NullPointerException ou algo do genero.