Search
📕

51강. Stream

무단 도용 및 복제, 사용 저작권 안내 수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유), 불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!
본 강좌에서는 자바의 Stream 에 대해 살펴보겠습니다.

1. 학습 목표

Stream대해 살펴보고 활용법을 본다.

2. 학습 내용

Stream

3. Stream

프로그램을 작성하다 보면 프로그램 내부에서 선언한 변수나 객체에 값을 담아서 사용하는 경우가 종종있다.
변수는 변수의 이름을 통해 접근하여 값을 가져오고 집어 넣을 수 있다.
객체는 참조 변수를 이용해 객체에 접근하고 접근이 허용된 메서드나 변수에 자유롭게 접근이 가능하다.
같은 프로그램이 아닌 다른 프로그램 혹인 다른 곳에 있는 데이터를 가져 오는건 자유롭지가 못한다.
자바에서는 프로그램 내부가 아닌 외부에 존재하는 데이터를 프로그램에서 접근할 수 있도록 Stream이란 도구를 제공한다.

4. 입출력 Stream

Stream 이란 바이트 형태로 되어져 있는 데이터를 프로그램과 다른 것과의 데이터 교환을 위해 제공되는 도구이다.
데이터를 받아들이기 위해 사용하는 Stream을 입력 Stream 이라고 부른다.
데이터를 전송하기 위해 사용하는 Stream을 출력 Stream 이라고 부른다.
자바에서는 입력용 스트림으로 InputStream, 출력용 스트림으로 OutputStream을 제공한다.
InputStreamOutputStream을 데이터를 교환하고자 하는 것에서 추출하여 스트림을 통해 데이터를 주고 받으면 된다.

5. 기본 Stream

자바에서 제공되는 여러 가지 스트림 클래스 중에서 스트림 클래스 자체가 데이터 입출력의 기능을 갖추고 있는 것을 기본 스트림이라고 부른다.
기본 Stream은 InputStreamOutputStream을 사용하면 된다.
데이터를 교환하고자 하는 대상과 연결되는 InputStreamOutputStream을 추출할 수 있으면 추출해서 사용하면 된다.
추출하는 과정자체가 복잡한 경우 자바에서는 스트림을 사용할 수 있도록 InputStreamOutputStream을 사용받을 클래스들을 제공한다.
이러한 기본 스트림들은 데이터를 교환할 때 교환되는 모든 데이터를 바이트 형태로 변환을 해줘야 한다.

6. 기본 Stream의 종류

AudioStream :  사운드 데이터를 송수신하는 목적으로 만들어 졌으며 이를 상속받은 클래스는 기본적으로 사운드 데이터를 송수신하는 기능을 갖추게 된다.
ByteArrayStream : 바이트 형태의 데이터를 송수신하는 목적으로 사용하는 스트림이다.
FileStream : 파일을 대상으로 데이터를 송수신하는 목적으로 사용하는 스트림이다.
기타 등등

7. 학습 정리

정리
자바에서는 프로그램과 다른 것과의 데이터 송수신을 위해 Stream이란 도구를 제공한다.
InputStreamOutputStream을 제공하며 부가적인 기능을 추가하여 만든 다른 스트림도 존재한다.