티스토리 뷰


자바를 통해 개발을 하다보면 Caused by: java.io.NotSerializableException 에러를 보게 됩니다.

해당 에러가 발생 되는 원인은 해당 class가 직렬화 되어 있지 않기 때문입니다.


보통 위 에러가 발생 되면 "Caused by: java.io.NotSerializableException: 오류 패키지명"와 같이 에러가 발생되는 오류 패키지명 및 class명까지 표시 됩니다.

해당 class로 이동해 직렬화를 해주게 되면 에러가 해결 되게 됩니다.


[해결 예시]

class A implements Serializable 에러가 발생하는 클래스에  "implements Serializable"을 추가 해주면 됩니다.


예를 들어 기존 class A가 아래와 같이 되어 있다면

Class A {

    //코드 ...

}


아래와 같이 직렬화를 해주면 됩니다.

Class A implements Serializable{

    //코드 ...

}


객체간 통신을 하기 위해서는 Serializable로 구현해야 정상적으로 동작하게 됩니다. Android에서는 intent간 통신을 할때 사용하게 됩니다.

댓글