posted by 방랑군 2009. 10. 6. 09:24


직렬화란 무엇인가
영어 원어로부터 이야기를 시작해 보겠다. 시리얼(serial)이라는 표현은 영어 사전을 찾아보면 영화나 TV의 연속물, 연재물을 뜻하는 명사이거나 ‘연속적인’, ‘순차적인’이라는 의미의 형용사라는 것을 알 수 있다. 여기서 요점은 ‘순서가 있는 연속물’이라는 점이다. 2부를 1부보다 먼저 하는 경우는 없다. 컴퓨터 제품이나 소프트웨어를 구입하면 시리얼 번호라는 것을 흔하게 볼 수 있다. 시리얼 번호의 한글 번역은 ‘일련 번호’에 해당한다. 각 제품의 순차적인 번호를 적은 것이다.
serialize는 ‘serial하게 만든다’는 뜻의 동사로서, 연재물로 상영한다 또는 순서대로 나열하다라는 뜻이다. 최종적으로 이 동사의 명사화인 serialization은 ‘무엇인가를 연속적인 형태로 나열하는 행위’를 말한다.
정의하자면, 직렬화란 우리가 프로그램에서 다루고자 하는 모든 객체를 쉽게 저장하거나 네트워크로 전송할 수 있게, 컴퓨터의 가장 원초적인 자료 표현 형식인 바이트(byte)의 연속 형태로 변환하는 과정을 말한다. 당연히 디스크에 파일 형태로 저장되어 있거나 네트워크를 통해 전송받아 메모리에 저장한 바이트 연속물(byte stream)을 다시 원래의 객체로 변환하는 복원 과정도 항상 고려해야 한다. 이를 de-serialization이라 한다

[출처] 시리얼라이즈|작성자 썬더스

'IT > 기본에충실' 카테고리의 다른 글

값, 참조 타입  (0) 2009.09.30
[ASP.NET] 페이지 CacheTest  (0) 2009.09.15
[C#] pdb 파일  (0) 2009.09.15
[ASP.NET] Transfer, Redirect, Excute..  (0) 2009.09.15
기본... 여기는...  (0) 2009.09.15