Tôi đoán rằng bạn đang nói về các phương pháp công cộng, riêng tư và được bảo vệ ở đây?
Nếu vậy, thì chúng không tồn tại cho mục đích bảo mật. Chúng tồn tại với mục đích làm cho nó dễ dàng hơn o đảm bảo rằng phần mềm được mô đun hóa đúng. (Cho dù họ thành công trong đó là một cuộc tranh luận tôi sẽ để lại cho người khác. Tuy nhiên, đó là tầm nhìn về những gì họ đang làm.)
Giả sử rằng tôi cung cấp một thư viện, sau đó tôi có thể tự do cung cấp một phiên bản khác của thư viện và thay đổi những thứ được đánh dấu là riêng tư nhiều như tôi muốn. Ngược lại, nếu tôi không đánh dấu những thứ đó là riêng tư, thì tôi sẽ không thể thay đổi bất kỳ phần bên trong nào của phần mềm của mình vì ai đó, ở đâu đó, có thể đang truy cập trực tiếp vào phần mềm. Chắc chắn, về lý thuyết, đó là lỗi của họ khi không sử dụng API tài liệu. Nhưng khách hàng sẽ nhận thấy đó là lỗi của tôi khi nâng cấp phần mềm của tôi đã phá vỡ phần mềm của họ. Họ không muốn bào chữa, họ muốn sửa nó. Nhưng nếu tôi không cho phép họ có quyền truy cập để bắt đầu, thì API của tôi chính xác là các phương thức công khai mà tôi dự định là API của tôi và vấn đề được tránh.
Điều có khả năng thứ hai mà bạn có thể nói đến là mô hình bảo mật của Java. Nếu bạn đang nói về điều đó, thì lý do tồn tại là tầm nhìn ban đầu cho Java liên quan đến việc những người gửi các applet không đáng tin cậy có thể hoạt động tương tác bên trong các chương trình của bên thứ ba (ví dụ: trình duyệt). Do đó, mô hình bảo mật nhằm cung cấp cho người dùng một số bảo vệ chống lại các applet độc hại. Do đó, mối đe dọa bảo mật để lo lắng và bảo vệ chống lại là các applet không đáng tin cậy đang cố gắng tương tác với các phần mềm khác có thể được tải.