-
자바 직렬화 & 역직렬화(4)_문제점Java 2023. 10. 9. 15:19
자바 직렬화 문제점
- 용량이 크다
- JSON으로 저장하는 것보다 2배 이상 차이가 난다.
- DB, 캐시 등에 외부에 저장할 때, 장기간 저장하는 정보는 직렬화를 피해야한다.
- 역직력화는 위험하다.
- 다른 사람이 만든 것을 역직렬화 하는 과정에서 공격당할 위험이 있다.
- 신뢰할 수 없는 데이터는 절대 역직렬화 하면 안되며, 직렬화의 잠재적인 위험성을 회피하는 가장 좋은 방법은 아무것도 역직렬화하지 않는 것이다.
- 릴리즈 후 수정이 어렵다
- 클래스의 내부 구현을 수정한다면 원래의 직렬화 형태와 달라지게 되기 때문이다.
- 새로운 버전을 릴리즈할 때 테스트 요소가 많아진다
- 클래스 캡슐화가 깨진다.
- 직렬화할 클래스에 private 멤버가 있어도 직렬화를 하게 되면 그대로 외부로 노출되게 된다.
- 버그와 보안에 취약하다
- 상속용 클래스와 인터페이스에 직렬화 구현에 주의해야 한다
- 내부 클래스는 직렬화를 구현하면 안된다.
- 정적 내부 클래스(static inner class)는 직렬화를 구현해도 상관없다.
출처)
'Java' 카테고리의 다른 글
자바 try-with-resources 알아보기 (1) 2023.10.09 자바 오버라이딩(Overriding)과 오버로딩(Overloading) 차이점 (0) 2023.10.09 자바 직렬화 & 역직렬화(3)_버전 관리 (0) 2023.10.09 자바 직렬화 & 역직렬화(2)_사용법 (0) 2023.10.09 자바 직렬화 & 역직렬화(1)_기본 지식 (0) 2023.10.08 - 용량이 크다