JAVA(4)

Ming·2024년 6월 17일

해당 내용은 실습이 주가 되었으므로 깃허브 링크로 대신함.

Input/Output

InputStream

  • 바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스이다.
  • InputStream 스트림은 그림, 멀티미디어, 문자 등 모든 데이터를 입력받을 수 있다.
  • InputStream을 상속받는 클래스들은 접미사로 InputStream이 붙는다.
  • 외부 장치로부터 바이트 단위의 데이터를 읽어 올 수 있는 read() 추상 메소드가 정의되어 있다.
  • 사용한 시스템 자원 반납 후 입력 스트림을 닫는 close() 추상 메소드가 정의되어 있다.

OutputStream

  • 바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스이다.
  • OutputStream 스트림은 그림, 멀티미디어, 문자 등 모든 데이터를 출력할 수 있다.
  • OutputStream을 상속받는 클래스들은 접미사로 OutputStream이 붙는다.
  • 바이트 단위의 데이터를 외부 장치에 기록할 수 있는 write() 추상 메소드가 정의되어 있다.
  • 버퍼에 잔류하는 모든 바이트를 출력하는 flush() 추상 메소드가 정의되어 있다.
  • 사용한 시스템 자원 반납 후 출력 스트림을 닫는 close() 추상 메소드가 정의되어 있다.

Reader

  • 문자 기반 입력 스트림의 최상위 클래스로 추상 클래스이다.
  • Reader는 문자 데이터만 입력받을 수 있다.
  • Reader를 상속받는 클래스들은 접미사로 Reader가 붙는다.
  • 외부 장치로부터 문자 단위의 데이터를 읽어 올 수 있는 read() 추상 메소드가 정의되어 있다.
  • 사용한 시스템 자원 반납 후 입력 스트림을 닫는 close() 추상 메소드가 정의되어 있다.

Writer

  • 문자 기반 출력 스트림의 최상위 클래스로 추상 클래스이다.
  • Writer는 문자 데이터만 출력할 수 있다.
  • Writer를 상속받는 클래스들은 접미사로 Writer가 붙는다.
  • 문자 단위의 데이터를 외부 장치에 기록할 수 있는 write() 추상 메소드가 정의되어 있다.
  • 버퍼에 잔류하는 모든 문자열을 출력하는 flush() 추상 메소드가 정의되어 있다.
  • 사용한 시스템 자원 반납 후 출력 스트림을 닫는 close() 추상 메소드가 정의되어 있다.

보조 스트림

  • 기반 스트림(InputStream, OutputStream, Reader, Writer)의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용한다.
  • 실제 데이터를 주고받는 스트림이 아니기 때문에 입출력 처리 불가능하다.
  • 반드시 기반 스트림(InputStream, OutputStream, Reader, Writer)을 먼저 생성한 후 이를 이용하여 보조 스트림 생성해야 한다.
    - 문자 변환 보조 스트림 : InputStreamReader, OutputStreamWriter
    - 성능 향상 보조 스트림 : BufferedInputStream(BufferedReader), BufferedOutputStream(BufferedWriter)

File 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/20_%ED%8C%8C%EC%9D%BC

File Input/Output 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/21_%ED%8C%8C%EC%9D%BC%EC%9E%85%EC%B6%9C%EB%A0%A5

보조 스트림 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/22_%EB%B3%B4%EC%A1%B0%EC%8A%A4%ED%8A%B8%EB%A6%BC

Thread

현재 실행되는 스레드 출력

Thread.currentThread().getName()

데몬 스레드

  • 주 스레드의 작업을 돕는 보조 스레드
  • 데몬 스레드를 제외한 다른 스레드들이 모두 종료되면 데몬 스레드도 강제 종료된다.
  • 예) 자동 저장

Thread 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/23_%EC%8A%A4%EB%A0%88%EB%93%9C

Thread 제어 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/24_%EC%8A%A4%EB%A0%88%EB%93%9C%EC%A0%9C%EC%96%B4

Generics

Generics 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/25_%EC%A0%9C%EB%84%A4%EB%A6%AD%EC%8A%A4

Lambda

Lambda 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/26_%EB%9E%8C%EB%8B%A4

StreamAPI

StreamAPI 실습

https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/JAVA/27_StreamAPI

0개의 댓글