Соглашения об именовании приватных методов и name mangling - это не про защиту от злонамеренных хакеров, взламывающих ваш код. Всё это для предотвращения непреднамеренно ошибочного использования объектов. В больших системах бывает сложно уследить, что один объект из сотен, в одном из тысяч возможных состояний программы не нарушает инварианты другого объекта. Весь ООП придумывался ради снижения сложности кода.