JAVA/JAVA
-
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() 출력은 버퍼에 일정 용량 이..
-
Java | I/O(Input / Output) 입출력 개요JAVA/JAVA 2020. 2. 6. 22:07
I / O (Input / Output) 입출력 개요 데이터를 읽고 쓰는 것을 목표로 하는 자바의 API ex) Input: 데이터를 파일이나 네트워크로부터 불러옴(read) Output: 파일에 데이터를 작성(write), 네트워크로 응답(response)을 보냄 ★ 입출력 메소드를 사용할 때는 반드시 예외 처리를 해주어야 함 ★ Stream 스트림 소스와 타겟 사이에서 데이터를 전송하는 가상의 통로 Source(소스): 자료를 읽는 대상 Target(타겟): 자료를 쓰는 대상 단방향으로만 이동함 다단계 결합 가능: 여러 개의 스트림을 생성자를 이용해서 결합할 수 있음 기반 스트림 + 보조 스트림 무한 대기: 데이터를 입력받을 때까지 계속해서 대기하는 상태 입력 스트림 / 출력 스트림 입력 스트림과 출..
-
Java | 예외 처리 throws & throwJAVA/JAVA 2020. 2. 5. 17:45
throws 예외를 해당 메소드에서 처리하지 않고 미룬 후 메소드를 호출하여 사용하는 부분에서 예외를 처리하는 방법 형식 접근제어자 반환형 메소드명() throws 예외 처리 클래스명 {} ※ 복수의 예외 처리 클래스명 작성 가능 throw 사용자 정의 예외로 예외를 임의로 발생시켜서 프로그램을 테스트 할 수 있음 이미 존재하는 예외의 경우 throw를 사용하여 바로 예외를 발생시킬 수 있음 사용자 정의 예외의 경우 발생시키고자 하는 예외와 가장 유사한 예외 클래스를 상속 잘 모르겠다면 가장 상위 클래스인 Exception 클래스 상속 형식_사용자 정의 예외 클래스 class 사용자 정의 예외 클래스명 extends 예외 클래스명{ // 생성자 사용자 정의 예외 클래스명(String msg){ super..
-
Java | 예외 처리 try~catch~finallyJAVA/JAVA 2020. 2. 5. 17:45
Exception 예외 처리 예외가 발생했을 때 자바 프로그램이 정상적으로 실행되도록 예외를 처리하는 것 try~catch~finally 예외가 발생했을 때 예외를 어떻게 처리할 것인가를 결정하는 구문 형식 try { // 예외 발생 가능성이 있는 코드 } catch([예외 처리 클래스명] [예외 처리 객체명]) { // 예외 처리, 보통 예외 메세지 출력 } finally { // 예외 발생과 상관없이 반드시 처리해야하는 코드 // ex) DB 연동 해제, 메모리 해제 구문 } ※ catch문은 여러 개 작성 가능 | 파이프 기호 catch()문에서 2개의 에러를 처리할 때 사용하는 기호 형식 catch([예외 처리 클래스명] | [예외 처리 클래스명] [예외 처리 객체명]) // catch(Arith..
-
Java | Object Type Casting 객체 형 변환 & InstanceofJAVA/JAVA 2020. 2. 5. 17:25
Object Type Casting 객체 형 변환 객체간 자료형을 변환하는 것 인터페이스, 배열, 클래스에 적용 상속 관계 때문에 만들어진 기능 Upcasting 묵시적 객체 형 변환 하위 클래스에서 상위 클래스로 자료형을 변환하는 것 하위 클래스는 이미 상위 클래스를 상속받아서 상위 클래스의 모든 변수와 기능을 가지고 있기 때문에 하위 클래스의 객체를 상위 클래스의 자료형으로 변환해서 생성할 수 있음 하위 클래스의 객체를 상위 클래스의 자료형으로 선언하기만 하면 됨 상위 클래스형 변수(ex. 배열)에 대입되는 경우에도 묵시적 형 변환이 일어남 상위 클래스형으로 생성된 객체는 상위 클래스의 멤버 변수와 메소드만 사용 가능 단, 메소드가 하위 클래스에서 오버라이딩되었다면 오버라이딩된 메소드 호출 상위 클래..
-
Java | Inner Class 내부 클래스 & Anonymous class 익명 클래스JAVA/JAVA 2020. 2. 4. 17:25
Inner Class 내부 클래스 클래스 내부에 작성하는 클래스 내부 클래스는 외부 클래스의 접근 제어자에 상관 없이 멤버변수, 메소드에 접근 가능 외부 클래스에서 내부 클래스에 접근하기 위해서는 내부 클래스 객체를 생성해야 함 이름이 있는 내부 클래스 내부 클래스에 이름이 있는 경우, 일반 클래스와 동일함 다른 클래스의 내부에 있다는 점과 main()에서 클래스를 생성하는 방식만 다름 외부 클래스의 멤버 변수 및 메소드에 편리하게 접근하기 위해 사용 main() 메소드에서 내부 클래스 객체 생성법 Outer클래스명.Inner클래스명 Inner객체명 = Outer객체명.new Inner클래스명() // 외부 클래스 객체 생성 Outer out = new Outer(); // 내부 클래스 객체 생성 Out..