
보조 스트림 (필터 스트림) 다른 스트림과 연결되어 보조 기능을 추가하는 스트림 기능 : 문자 변환, 입출력 성능 향상, 기본 데이터 타입 입출력, 객체 입출력 등 보조스트림 일부가 FilterInputStream, FilterOutputStream의 하위 클래스 -> 필터스트림으로 불리기도 하는 이유 자체적으로 입출력 수행 불가능. - 입출력 수행 법 : 입력소스와 바로 연결되는 InputStream, FileInputStream, Reader, FileReader, 출력소스와 바로 연결되는 OutputStream, FileOutputStream, Writer, FileWriter 등과 연결해서 입출력 수행 buffer(버퍼) 데이터가 쌓이기를 기다렸다가 꽉 차게 되면 데이터를 한번에 하드 디스크로 보..
File 클래스 File 클래스는 파일 생성 및 삭제 기능, 디렉토리 생성 및 디렉토리에 존재하는 파일 리스트 얻어내기 기능이 있음. 하지만, 데이터를 읽고 쓰는 기능은 지원하지 x (스트림을 사용해야함) File 객체를 사용했다고 해서 파일/디렉토리가 생성되는 것은 아니다. 경로가 유효하지 않더라도 컴파일 에러가 발생하지 않는다. //File 객체로 생성하기 File file = new File("C:\\Temp\\file/txt"); //File 객체를 통해 해당 경로에 실제로 파일이나 디렉토리나 파일이 있는지 확인하기 boolean isExist = file.exists(); exists() 값이 false라면 아래의 메소드로 파일 / 디렉토리 생성이 가능하다. 리턴 타입 메소드 설명 boolean..
IO(Input/Output) IO 란 자바의 자바의 기본적인 데이터 입출력(Input/Output)을 말한다. API 는 java.io 패키지에서 제공하고 있다. 해당 패키지에는 다양한 입출력 스트림 클래스를 제공하고 있다. InputStream(입력스트림) & OutputStream(출력스트림) InputStream : 프로그램 데이터를 입력 받을 때 (데이터가 들어옴) 출발지 : 키보드, 파일, 네트워크 상의 프로그램 OutputStream : 프로그램이 데이터를 보낼 때 (데이터가 나감) 출발지 : 모니터, 파일, 네트워크 상의 프로그램 java.io 패키지 주요 클래스 설명 File 파일 시스템의 파일 정보를 얻기 위한 클래스 Console 콘솔로부터 문자를 입출력하기 위한 클래스 InputSt..
Garbage Collection (가비지 컬랙션) 가비지 컬랙터가 더이상 사용하지 않는 객체를 제거하는 것. 가비지 컬랙션 = 자동 메모리 관리 가비지 컬랙션의 특징 자동 메모리 관리 가비지 컬랙션은 프로그래머가 구현할 수 없음. 가비지 컬랙션은 객체이다. 가비지 컬랙션의 대상은 살아있는 스레드가 더이상 참조하지 않는 객체이다. 다른 참조 변수가 참조하고 있는 객체는 가비지 컬랙션의 대상이 될 수 없다. 객체에 할당된 메모리를 명시적으로 해제할 수 없다. 가비지 컬랙터가 객체를 어떠한 순서로 정리하는지 알 수 없다. 가비지 컬랙터가 언제 수행되는지 알 수 없다. 가비지 컬랙션은 JVM이 결정하며 우리는 단순 요청만 가능하다. 가비지 컬랙션이 되려면 1. 참조변수에 null할당하기 참조변수에 null을 ..
FIFO (first in first out) : 선입선출. 컬렉션 프레임 워크에는 LIFO 자료구조를 제공하는 Stack클래스와 FIFO 자료구조를 제공하는 Queue 인터페이스를 제공하고 있다. Queue (큐) 줄 , 혹은 줄을 서서 기다리는 것. 큐 : 줄 , 혹은 줄을 서서 기다리는 것 : 순차 처리:선입선출 특징 큐의 가장 첫 원소를 front / 가장 끝 원소를 rear이라고 함. 큐는 들어올 때 rear로 들어오지만 나올때는 front부터 빠지는 특성이 있다. 접근방법은 가장 첫 원소와 끝 원소로만 가능. 가장 먼저 들어온 프론트 원소가 가장 먼저 삭제됨. 우선순위가 같은 작업 예약 (프린터의 인쇄 대기열) 은행 업무 콜센터 고객 대기시간 프로세스 관리 너비 우선 탐색(BFS, Breadt..
LIFO(last in first out) : 후입선출. 나중에 넣은 객체가 먼저 빠져나가는 자료구조를 말한다. 컬렉션 프레임 워크에는 LIFO 자료구조를 제공하는 Stack클래스와 FIFO 자료구조를 제공하는 Queue 인터페이스를 제공하고 있다. Stack (스택) 차곡차곡 쌓아 올린 형태의 자료구조 특징 웹 브라우저 방문기록 (뒤로 가기) 가장 나중에 열린 페이지부터 다시 보여준다. 역순 문자열 만들기 가장 나중에 입력된 문자부터 출력한다. 실행 취소 (undo) 가장 나중에 실행된 것부터 실행을 취소한다. 후위 표기법 계산 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사) import java.util.Stack; class Coin{ private int value; public Co..

자바 배열의 문제점 저장할 수 있는 객체 수가 배열을 생성할 때 결정된다. 애초에 배열 크기를 크게 생성하면 되지만 이는 좋은 방법이 아니다. 배열의 객체를 삭제했을 때( arr[0] = null; ) 해당 인덱스가 된다. 따라서 객체를 새로 저장하려면 어디가 비어 있는지 확인하는 코드도 필요하다. 컬렉션 프레임워크 (Collection Framwork) 컬렌션 프레임워크란 자바 배열의 다양한 문제점을 해결해 주는 몇 가지 인터페이스(List, Set, Map 등)를 이용할 수 있도록 해주는 것이라고 정의할 수 있다. 컬렉션 프레임 워크는 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜놓았다. * 참조 : https://pri..
Map의 형태 Map (Map ) Map 특징 Key중복 불가능, Value 중복 가능 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; public class Map01 { public static void main(String[] args) { Map map = new HashMap(); //저장 put(Key, Value) map.put("홍길동", 12); map.put("김길동", 30); map.put("이길동", 20); map.put("최길동", 10); map.put("윤길동"..
- Total
- Today
- Yesterday