JAVA
-
Java | Collection Framework 컬렉션 프레임워크JAVA/JAVA 2020. 2. 7. 18:56
Collection Framework 컬렉션 프레임워크 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하는 것 컬렉션 프레임 워크에는 여러 인터페이스가 정의되어 있고 인터페이스를 구현한 클래스가 있음 전체 구조는 Collection 인터페이스와 Map 인터페이스를 기반으로 이루어짐 Collection 인터페이스는 하나의 자료를 모아서 관리하는 데 필요한 기능 제공 Map 인터페이스는 쌍(pair)으로 된 자료들을 관리하는 데 유용한 기능 제공 Collection 인터페이스 하나의 자료를 모아서 관리하는 데 필요한 기능을 제공하는 인터페이스 하위에 List 와 Set 인터페이스가 있음 List: 순차적인 자료를 관리하는 데 사용하는 인터페이스, 중복을 허용함 ArrayList, Vect..
-
Java | Wrapper ClassJAVA/JAVA 2020. 2. 7. 18:51
Wrapper Class 기본 자료형의 값을 객체 형태로 만들어서 제공하는 클래스 기본 자료형을 감쌌다는 의미로 Wrapper 클래스라고 함 기본 자료형의 첫글자만 대문자로 쓰면 Wrapper 클래스가 됨 단, int는 Integer로 char는 Character로 작성 String은 원래 참조 자료형이기 때문에 Wrapper 클래스가 아님(필요 없음) 형식 Wrapper 변수명 = new Wrapper(값); // Double d = new Double(123.45); Wrapper 변수명 = 값; // Double d = 123.45; 바로 초기화하는 것도 가능 AutoBoxing & UnBoxing Wrapper 클래스를 기본 자료형으로 직접 형 변환하지 않아도 컴파일러가 연산이 가능하도록 형 변환..
-
Java | I/O File ClassJAVA/JAVA 2020. 2. 7. 18:47
File 클래스 파일이라는 개념을 추상화한 클래스 파일에 대한 입출력은 기반 스트림으로 수행 파일 자체의 경로나 정보를 알 수 있고 파일 생성 및 삭제 가능 주요 생성자 생성자 설명 File(String pathname) pathname을 매개변수로 받아 파일 생성 메소드 메소드 설명 boolean createNewFile() pathname으로 생성된 File 객체를 실제 파일로 생성 파일이 성공적으로 생성되면 true 반환 동일한 파일명의 파일이 있는 경우 false 반환 boolean isFile() 해당 파일이 정상적인 파일인 경우에 true 반환 boolean isDirectory() 해당 파일이 정상적인 폴더인 경우 true 반환 String getName() 해당 파일 또는 폴더의 이름을 반..
-
Java | Serialization 직렬화JAVA/JAVA 2020. 2. 7. 18:44
Serialization 직렬화 인스턴스의 어느 순간 상태를 그대로 저장하거나 네트워크를 통해 전송하는 것 클래스의 인스턴스가 생성되면 인스턴스의 상태, 즉 인스턴스 변수 값은 계속 변화함 직렬화로 인스턴스 내용을 연속 스트림으로 만듬 스트림으로 만들어야 파일에 쓰거나 네트워크로 전송 가능 직렬화 하고자 하는 클래스에서 반드시 Serializable 인터페이스를 구현해야 함 직렬화시 모든 유형의 객체를 저장해야 하기 때문에 Object 클래스형으로 저장됨 Deserialization 역직렬화 저장된 내용이나 전송받은 내용을 다시 복원하는 것 역직렬화를 할 때 클래스 정보가 존재하지 않을 수도 있으므로 ClassNotFoundException 예외도 처리해야함 Object 클래스형으로 읽어 들인 객체를 저..
-
Java | I/O 보조 스트림JAVA/JAVA 2020. 2. 6. 23:04
보조 스트림 입출력 대상이 되는 파일이나 네트워크를 직접 읽거나 쓰는 기능은 없음 말 그대로 보조 기능을 추가하는 스트림 다른 스트림을 감싸고 있다는 뜻에서 Wrapper 스트림이라고도 함 보조 스트림처럼 다양한 기능을 제공하는 클래스를 디자인 패턴에서 '데코레이터(decorator)'라고 함 보조 스트림의 생성자에 항상 기반 스트림만 매개변수로 전달되는 것은 아님 내부적으로 기반 스트림을 포함한 보조 스트림 역시 전달 가능 → 하나의 기반 스트림에 여러 보조 스트림 기능이 추가됨 FilterInputStream & FilterOutputStream 보조 스트림 상위 클래스 보조 스트림은 자료 입출력을 직접 할 수 없기 때문에 다른 기반 스트림을 포함해야 함 생성자 생성자 설명 protected Filt..
-
Java | I/O 문자 단위 스트림JAVA/JAVA 2020. 2. 6. 22:41
문자 단위 스트림 문자 단위로 데이터를 읽거나 쓰는 스트림 Reader 데이터를 문자 단위로 읽는 스트림 중 최상위 스트림 Reader 하위 클래스 스트림 클래스 설명 FileReader 파일에서 문자 단위로 자료를 읽는 스트림 클래스 InputStreamReader 바이트 단위로 읽은 자료를 문자로 변환해 주는 보조 스트림 클래스 BufferedReader 문자로 데이터를 읽을 때 배열을 제공하여 한꺼번에 많은 양의 데이터를 읽을 수 있도록(버퍼링) 도와주는 보조 스트림 Reader Method 메소드 설명 int read() 파일로부터 한 문자를 읽음, 읽은 값 반환 int read(char[] buf) 파일로부터 buf 배열의 문자를 읽음 int read(char buf[], int off, int..
-
Java | I/O 바이트 단위 스트림JAVA/JAVA 2020. 2. 6. 22:26
바이트 단위 스트림 바이트 단위로 데이터를 읽거나 쓰는 스트림 InputStream 바이트 단위로 읽는 스트림 중 최상위 스트림 추상 메소드를 포함한 추상 클래스로서 하위 스트림 클래스가 상속받아 각 클래스 역할에 맞게 추상 메소드의 기능을 구현함 주로 사용하는 하위 클래스 스트림 클래스 설명 FileInputStream 파일에서 바이트 단위로 자료를 읽음 ByteArrayInputStream Byte 배열 메모리에서 바이트 단위로 자료를 읽음 FilterInputStream 기반 스트림에서 자료를 읽을 때 추가 기능을 제공하는 보조 스트림의 상위 클래스 InputStream 메소드 메소드 설명 int read() 입력 스트림으로부터 한 바이트의 자료를 읽음 읽은 자료의 바이트 수 반환 int read(..
-
Java | I/O 표준 입출력JAVA/JAVA 2020. 2. 6. 22:14
표준 입출력 자바에서 미리 정의해둔 표준 입출력 클래스 표준 입출력은 콘솔 화면에 입출력된다고 해서 콘솔 입출력이라고도 함 System.in: 표준 입력용 스트림 System.out: 표준 출력용 스트림 System.err: 표준 오류 출력 스트림 ※ in, out, err 는 모두 정적 변수이기 때문에 System 클래스를 생성하지 않고도 사용 가능 표준 입출력 Method 메소드 설명 System.in.read() 키보드로 입력된 값을 읽어들임, 더 이상 읽어들일 수 없으면 -1 리턴 System.out.write() ( )안에 입력된 값을 화면(콘솔)에 출력 컴퓨터가 숫자로 저장하고 있는 것을 사람이 읽을 수 있는 문자로 디코딩해서 출력 System.out.flush() 출력은 버퍼에 일정 용량 이..