Serializable에 대해서 질문입니다!
186
작성한 질문수 24
안녕하세요 강사님!
제가 토이 프로젝트를 진행했을 때 엔티티에 implements Serializable를 하지 않았을 때 오류가 나지 않고 정상적으로 잘 되었는데(스프링 부트 3.2.4 사용 했습니다)
강사님 께서는 앞선 카탈로그 엔티티 및 오더 엔티티에서 둘 다
Serializable를 implements 하셨는데 강의 말씀 하시기를 직렬화 때문에 사용을 하셨다고 말씀해주셨는데
해당과정에서 Serializable을 implements 을 하지 않으면 어떤 부분에서 오류가 나는지 여쭤 볼 수 있을까요??
어느 부분에서 implements Serializable가 필요한 부분인지 모르겠습니다 ㅠㅠ
보통 일반적으로 스프링에서 Jackson? 으로 직렬화를 자동으로 지원해주어 implements를 따로 해줄 필요가 없다고 알고 있었습니다.
기초적인 질문이었다면 먼저 죄송하다는 말씀 드리면서
질문 드리겠습니다!
감사합니다.
답변 1
0
안녕하세요, 이도원입니다.
자바에서 직렬화란 JVM에서 사용중인 객체 또는 데이터를 외부의 JVM에서도 사용할 수 있도록 Byte 형태로 변환하는 기술입니다. 객체 데이터를 바이트로 변환하는 작업과 직렬화된 바이트 형태의 데이터를 객체화 하는 과정에서 직렬화, 역직렬화라는 표현을 사용하기도 합니다. 예를 들어, DB나 Network를 통해 다른 환경으로 자바의 객체를 저장하거나 전달하여 다시 원래 형태인 객체로 변환하려면 직렬화 과정이 필요하게 됩니다. 다만, 해당 직렬화 작업이 Spring framwork 등에서 사용하는 라이브러리 등에서 지원하는 경우라면 사용자가 직접 직렬화하지 않아도 됩니다. 예를 들어, 사용자 객체 User를 Jackson에서 사용할 수 있는 객체로 변환하는 과정에서 직렬화 작업이 포함되어 Jackson에서 사용되기 때문에, 사용자 객체에서 추가로 명시하지 않아도 됩니다. 강의에서 사용된 부분에 있어서는 같은 환경의 JVM 환경에서 작동되기 때문에, 별도의 직렬화 없이 작업이 가능합니다.
추가 질문사항 있으시면 다시 글 남겨 주세요.
감사합니다.
kafka 업데이트 강의 듣고 시포요
0
85
1
강의 교안
0
75
1
마이크로서비스간 통신 시, 인증 처리
0
79
1
api gateway 에서 인증 처리
0
66
1
섹션 19 질문드립니다
0
54
1
강의 자료 업데이트
0
84
1
부하분산 강의 섹션
0
57
1
강의자료는 어디에서?
0
72
1
강의 자료는 어디서 다운 받을 수 있나요?
0
110
1
전체 사용자 조회시 오류
0
59
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
113
2
학습 방향
0
96
2
카프카 커넥터 사용 목적 문의
0
86
2
kafka 강의
0
109
2
서비스 디스커버리 종류
0
87
2
강의 자료에 대해서 궁금해요
0
117
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
90
2
Kafka Source Connect 버전 에러
0
85
2
소스커넥터는 사용안한 거 맞죠?
0
81
2
강의자료 업데이트 문의
0
96
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
57
1
강의 업데이트 계획이 궁금합니다.
0
113
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
163
2
어떤 것이 업데이트 된 건가요?
0
164
2





