Stream

자바 2020. 7. 11. 22:20

Stream

- 프로그램을 작성하다 보면 프로그램 내부에서 선언한 변수나 객체에 값을 담아서 사용하는 경우가 종종 있다

 

- 변수는 변수의 이름을 통해 접근하여 값을 가져오고 집어넣을 수 있다

 

- 객체는 참조 변수를 이용해 객체에 접근하고 접근이 허용된 메서드나 변수에 자유롭게 접근이 가능하다

 

- 같은 프로그램이 아닌 다른 프로그램 혹은 다른 곳에 있는 데이터를 가져오는 건 자유롭지 못하다

 

- 자바에서는 프로그램 내부가 아닌 외부에 존재하는 데이터를 프로그램에서 접근할 수 있도록 Stream이란 도구를 제공한다

 

입출력 Stream

- Stream이란 바이트 형태로 되어 있는 데이터를 프로그램과 다른 것과의 데이터 교환을 위해 제공되는 도구이다

 

- 데이터를 받아들이기 위해 사용하는 Stream을 입력 Stream이라고 부른다

 

- 데이터를 전송하기 위해 사용하는 Stream을 출력 Stream이라고 부른다

 

- 자바에서는 입력용 스트림으로 InputStream, 출력용 스트림으로 OutputStream을 제공한다

 

- InputStream과 OutputStream을 데이터를 교환하고자 하는 것에서 추출하여 스트림을 통해 데이터를 주고받으면 된다

 

출력 Stream -- -> -> 입력 Stream

입력 Stream <- <- -- 출력 Stream

 

기본 Stream

- 자바에서 제공되는 여러 가지 스트림 클래스 중에서 스트림 클래스 자체가 데이터 입출력의 기능을 갖추고 있는 것을 기본 스트림이라고 부른다

 

- 기본 Stream은 InputStream과 OutputStream을 사용하면 된다

 

- 데이터를 교환하고자 하는 대상과 연결되는 InputStream과 OutputStream을 추출할 수 있으면 추출해서 사용하면 된다

 

- 추출하는 과정 자체가 복잡한 경우 자바에서는 스트림을 사용할 수 있도록 InputStream과 OutputStream을 상속받을 클래스들을 제공한다

 

- 이러한 기본 스트림들은 데이터를 교환할 때 교환되는 모든 데이터를 바이트 형태로 변환을 해줘야 한다

 

기본 Stream의 종류

- AudioStream : 사운드 데이터를 송수신하는 목적으로 만들어졌으며 이를 상속받은 클래스는 기본적으로 사운드 데이터를 송수신하는 기능을 갖추게 된다

 

- ByteArrayStream : 바이트 형태의 데이터를 송수신하는 목적으로 사용하는 스트림이다

 

- FileStream : 파일을 대상으로 데이터를 송수신 하는 목적으로 사용하는 스트림이다

'자바' 카테고리의 다른 글

데이터 스트림  (0) 2020.07.13
File Stream  (0) 2020.07.11
HashTable  (0) 2020.07.11
Java Vector  (0) 2020.07.08
Java Calendar  (0) 2020.07.08
Posted by khon98
,