계: Code Quality
코드 품질이 낮으면 예측할 수 없는 동작이 발생합니다. 사용자 입장에서는 사용 편의성이 떨어지는 것으로 나타나는 경우가 많습니다. 공격자에게는 예상치 못한 방법으로 시스템에 부담을 줄 수 있는 기회가 됩니다.
Code Correctness: Incorrect serialPersistentFields Modifier
Abstract
serialPersistentFields
를 올바르게 사용하려면 private
, static
및 final
로 선언되어야 합니다.Explanation
Java Object Serialization Specification을 사용하면 개발자는
예제 1: 다음
serialPersistentFields
배열에서 지정하여 클래스에 대해 Serializable 필드를 수동으로 정의할 수 있습니다. 이 기능은 serialPersistentFields
가 private
, static
및 final
로 선언된 경우에만 작동합니다.예제 1: 다음
serialPersistentFields
선언은 private
, static
및 final
이 아니기 때문에 Serializable
필드를 정의하는 데 사용되지 않습니다.
class List implements Serializable {
public ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("myField", List.class) };
...
}
References
desc.structural.java.code_correctness_incorrect_serialpersistentfields_modifier