<궁금한내용>
47일차 수업 도중 궁금한 내용..
자바 패키지 DataInputStream 을 ObjectInputStream 으로 대체해서 패키지를 사용하였다.
그리고 비트이동 연산처리를 하는 과정을 거치지 않아도 되게 되었다.
그래서 그 차이가 무엇인지 궁금해서 알아보았다.
<수업에서 대체해서 사용한 예제>
[답변]
네, 맞습니다. 데이터의 형태와 특성에 따라서 ObjectInputStream을 사용하여 객체로 읽거나, DataInputStream을 사용하여 바이너리 형태로 읽어서 사용하는 것은 일반적인 차이입니다.
내부적으로 ObjectInputStream과 DataInputStream은 데이터를 읽는 과정에서 비트 이동 연산을 수행합니다. 비트 이동 연산은 데이터의 비트 단위로 이동하면서 필요한 데이터를 추출하는 연산을 의미합니다. 데이터를 바이트 단위로 읽을 때 이러한 비트 이동 연산이 수행되며, 데이터의 형식과 특성에 따라 필요한 비트 이동 연산이 다를 수 있습니다.
그러므로 두 패키지 모두 데이터를 처리하는 과정에서 내부적으로 비트 이동 연산을 수행하며, 데이터의 형태와 특성에 따라 적절한 방식으로 처리됩니다. ObjectInputStream은 객체 단위로 데이터를 읽고 역직렬화하여 객체로 복원하므로 객체의 상태와 구조를 그대로 복원하는 데 비트 이동 연산이 활용됩니다. DataInputStream은 기본 데이터 타입으로 변환하여 제공하는 데 필요한 비트 이동 연산을 내부에서 수행합니다.
요약하면, 데이터의 형태와 특성에 따라 ObjectInputStream을 사용하여 객체로 읽거나, DataInputStream을 사용하여 바이너리 형태로 읽어서 사용할 수 있습니다. 두 패키지 모두 내부적으로 비트 이동 연산을 수행하여 데이터를 처리합니다.