헷갈리는 단어 marshalling 에 대해 정리해보자.

자바 프로그래밍을 하다보면 marshalling(마셜링), unmarshalling(언마셜링) 등의 단어를 자주 접하게 되는데 확 이미지가 와닿지가 않아 조금 찾아보았다.

marshal 이란 단어는 사전에서 찾아보면 명사로 쓰일 때는 군대의 원수나 경찰서장, 법원의 집행관 등을 의미하고 , 동사로서는  (특정 목적을 위해 사람.사물.생각등을) 모으다, 결집시키다 라는 뜻과 (많은 사람들을) 통제하다 라는 뜻이 있다. 즉, 많은 것들을 모으거나 통제한다는 관리적인 개념의 단어라고 할 수 있다.

marshal 의 동사의 의미를 명사화 시킨 (것으로 추정되는) marshalling이란  단어를 찾아보면 정렬시키기, 순위결정 이라고 나온다.

자바에서 마셜링이란 자바 객체를 byte stream으로 변환하는 과정을 의미한다. 또는 자바 객체를 XML문서로 변환하는 것을 의미하기도 한다. 마셜링이란 단어가 정렬시키기를 의미한다고 생각했을 때  데이터를 잘 정돈된 상태로 만드는 이미지를 상상할 수 있다. 잘 정돈된 상태여야 나중에 복원(언마셜링)을 할 수 있을 것이기 때문이다.

정리하면, 메모리에 존재하는 자바 객체를 범용적인 파일이나 바이트 스트림으로 변환 하는 작업을 마셜링이라고 부르고, 거꾸로 스트림이나 파일로부터 자바 객체를 만들어내는 작업을 언마셜링이라고 부른다.

댓글 남기기