ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Stream개념
    java 2020. 5. 9. 01:46

    Stream

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

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

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

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

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

     

    입출력Stream

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

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

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

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

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

    -출력스트림을 사용할 때는 데이터를 보내고 다음 동작을 수행하지만 입력스트림은 데이터가 날라올때까지 계속 대기상태에 있게 된다.

     

    기본Stream

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

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

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

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

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

     

    기본Stream의 종류

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

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

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

    -기타등등

    -필터스트림을 상속받지 않는 거의 모든 스트림

    -전부 바이트 형태로 주고 받는다.

    -인풋스트림과 아웃풋스트림을 상속받는다.

     

    참조 : 인프런 - 안드로이드를 위한 자바 - 스트림의 개념

    'java' 카테고리의 다른 글

    File.mkdir()과 File.mkdirs()의 차이점  (0) 2020.05.09
    다형성  (0) 2020.05.09
    generic  (0) 2020.05.07
    Calendar  (0) 2020.05.07
    StringTokenizer  (0) 2020.05.07

    댓글

Designed by Tistory.