데브허브 | DEVHUB | Java Part3 하 4 1 Stream 데이터란Java Part3 하 4 1 Stream 데이터란
- 스트림은 1차원적이고 선형적인 구조로 연속된 '원재료' 데이터의 흐름을 의미합니다. 📏
- 가래떡을 떡볶이용으로 자르듯, 스트림은 가공되기 전의 로우 레벨 데이터를 비유할 수 있습니다. 🍡
- 스트림은 데이터의 '형태'를 나타내며, IOStream은 입출력 데이터 스트림으로 이해할 수 있습니다. 📊
- 0x41이 10진수 65 또는 아스키 'A'로 해석되듯이, 데이터의 '형식'은 전적으로 '해석의 문제'입니다. 🧐
- 16진수 한 글자는 4비트, 0x41과 같은 두 글자는 8비트(1바이트)로, 데이터의 기본 단위를 구성합니다. 💾
- 데이터 해석 방식에 따라 비트 스트림, 바이트 스트림, 캐릭터 스트림 등으로 구분됩니다. 🏷️
- C언어는 문자와 정수를 유사하게 다루지만, 자바는 UTF-8과 같은 인코딩을 고려하여 문자열을 엄격히 분리합니다. 💻
- 로우 레벨 데이터는 주로 바이트 단위의 연속된 흐름(바이트 스트림)으로 논의됩니다. 📉
- 자바 개발자가 직접 로우 레벨 스트림을 다룰 일은 드물지만, 16진수 데이터에 익숙해지는 것이 좋습니다. 🔢
- 스트림은 비트 단위(비트 스트림) 또는 8비트 단위(바이트 스트림)로 연속된 흐름이며, 캐릭터 스트림은 이를 문자로 해석합니다. 🌊
- 원시 스트림 데이터는 정해진 규칙(자료형)에 따라 잘라내고 해석하여 활용됩니다. ✂️
- 스트림은 일반적으로 입력 스트림(Input Stream)과 출력 스트림(Output Stream)의 두 채널로 구분됩니다. ↔️
- 자바에서 바이트 단위 데이터는
InputStream/OutputStream으로, 문자 단위 데이터는 Reader/Writer로 처리됩니다. 📖