[Effective-Java] 아이템 85 자바 직렬화의 대안을 찾으라
아이템 85 자바 직렬화의 대안을 찾으라 Java에 처음으로 직렬화가 도입되었을 때 어렵지 않게 *분산객체를 만들 수 있다는 것은 매력적이었지만, 보이지 않는 생성자, API와 구현 사이의 모호해진 경계, 잠재적인 정확성 문제, 성능, 보안, 유지보수성 등 그 대가가 컸습니다. 실제로 *2016년 샌프란시스코 시영 교통국이 랜섬웨어 공격을 받아 무인발급기가 이틀간 마비되어 무료로 메트로를 타는 사태를 겪기도 했습니다. ObjectInputStream의 readObject 메서드를 호출하면서 객체 그래프가 역직렬화되는데, readObject 메서드는 (Serializable) 인터페이스를 구현했다면, 클래스패스 안의 거의 모든 타입의 객체를 만들어낼 수 있는 마법 같은 생성자입니다. 따라서 클래스패스 안의..
2022.03.20