티스토리 뷰

우리는 자바와 파일 간의 입출력을 우선으로 배우고 생각하자!

< Java App 기준 >

  • 파란색 선 : 출력
  • 초록색 선 : 입력

1. 입출력 정의 및 사용 이유

1-1. 입출력(IO)이란?

💡 Input과 Output의 약자.
컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 연동을 위한 자바 라이브러리.
단방향 데이터 송수신을 위해 스트림을 활용하여 데이터를 서로 주고 받게 된다.

1-2. 스트림(Stream)이란?

💡 입출력 장치에서 데이터를 읽고 쓰기 위한 단방향 통로로 자바에서 제공하는 클래스.
각각의 장치마다 연결할 수 있는 스트림이 존재. 바이트 단위 처리와 문자 단위 처리를 위한 스트림 등이 존재.
스트림은 기본적으로 1바이트 단위의 데이터만 지나가게 되고, 주고 받는 데이터의 기본 단위가 1바이트 이므로 한 방향만 처리가 가능하여 입력 스트림과 출력 스트림을 따로 구성.

입출력을 만드려면 통로를 2개 만들어야한다.

- 영어, 숫자, 특수기호 한 글자 → 1 바이트
- 한글, 그 외 언어 → 2 바이트 또는 3 바이트로 표현
- 인코딩 방식에 맞춰서 2바이트 또는 3바이트 단위를 구분하여 입출력을 하기 위해서는 문자 단위를 처리할 수 있는 스트림을 활용.

문자기반 스트림은 인코딩도 고려해야한다. MS-949는 뭐든 2 바이트씩! / UTF-8은 3 바이트씩!

1-3. 입출력을 사용하는 이유

💡 입출력을 사용함으로써 사용자로부터 입력을 받거나 화면이나 스피커로 출력해 줄 수 있다.
또한 파일 형태로 프로그램의 종료 여부와 상관없이 영구적으로 데이터를 저장할 수도 있다.
→ 영속성 데이터! (hdd, ssd 에 저장)

'한화시스템 > 백엔드' 카테고리의 다른 글

[BE] JAVA_제네릭스(Generics)  (0) 2024.07.23
[BE] JAVA_입출력_파일 클래스(File Class)  (5) 2024.07.22
[BE] JAVA_예외처리  (0) 2024.07.20
[BE] JAVA_API_Time 패키지  (0) 2024.07.20
[BE] JAVA_API_Wrapper  (1) 2024.07.19
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함