<aside> 💡 8장 메서드 : 메서드를 설계할 때 주의할 점 (사용성/견고성/유연성) [item50] 다른 클래스로부터 불변성을 지켜라 → 매개변수에 대해 복사본을 사용
</aside>
→ 안전한 언어
네이티브 메서드를 사용하지 않아 버퍼 오버런, 배열 오버런, 와일드 포인터 같은 메모리 충돌 오류에서 안전
자바로 작성한 클래스는 시스템의 다른 부분의 영향을 받지 않고 불변식이 지켜진다
→ 다른 클래스(클라이언트)로부터의 침범(불변성을 해치는 것)을 막아주지는 못한다 ⇒ 프로그래머의 영역
네이티브 메서드
<aside> 💡 클라이언트가 본인이 제작한 클래스의 불변식을 깨뜨리려고 혈안이 되어 있다고 가정하고 방어적으로 프로그래밍 해야한다.
</aside>
어떤 클라이언트든 허락없이 외부(사용자)에서 내부를 수정
하는 일은 불가능해야한다.
악의적인 의도를 가진 클라이언트의 시도
프로그래머의 실수로 클래스를 오작동하게 만드는 경우
→ 이와 같은 경우는 최대한 막아야 한다.