자바 시큐어 코딩 가이드 라인1 민감한 가변적(Mutable)클래스에 수정이 불가능한 래퍼를 제공하라. 필드의 불변성(immutable)은 악의적인 변경뿐만 아니라 부주의로 인한 변경도 방지하여, 입력을 받아들이거나 값을 반환할 때 방어적인 복사가 불필요해진다. 그러나 일부 민감 클래스들은 불변성을 가질 수 없다. 다행히, 비신뢰-코드(untrusted code)는 변경 불가능한 래퍼를 이용하여 가변적(Mutable) 클래스에 읽기전용으로만 엑세스할 수 있다. 부적절한 코드(예제). 이 예는 Mutable 클래스로 구성되어 있는데 내부 객체의 수정을 허용한다. 비신뢰-호출자(untrusted invoker)는 변경자 메서드인 setArray()를 호출하여 객체의 불변성(immutable)을 위반하고 있다. 접근자 메서드 getArray()의 호출을 통해 클래스의 비공개인 내부 상태를 수정할 수 있도록 되어.. 2020. 4. 6. 이전 1 다음