Acessar o campo privado de outro objeto na mesma classe

class Person 
{
   private BankAccount account;

   Person(BankAccount account)
   {
      this.account = account;
   }

   public Person someMethod(Person person)
   {
     //Why accessing private field is possible?

     BankAccount a = person.account;
   }
}

Por favor, esqueça o design. Eu sei que OOP especifica que objetos particulares são privados para a classe. A minha pergunta é: por que a OOP foi projetada para que os campos privados tivessem acesso em nível de classe eacesso não no nível do objeto?

questionAnswers(10)

yourAnswerToTheQuestion