JAVA
-
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..
-
Java | String Method(2) & Character MethodJAVA/JAVA 2020. 2. 3. 22:48
String Method(2) & Character Method String Method String 클래스 메소드 메소드 설명 concat(String str) String 클래스 일반 메소드, String객체명.concat(String str)로 사용 String 객체와 인자로 전달된 str 문자열을 연결해서 반환 replace(char oldChar, char newChar) String 클래스 일반 메소드, 객체명.replace(변경 전 문자, 변경 후 문자)로 사용 문자열 내의 특정 문자를 변경 후 문자로 변경해서 반환 length() String 클래스 일반 메소드, 객체명.length()로 사용 문자열의 길이를 반환 indexOf(String str, int fromIndex) String ..
-
Java | InterfaceJAVA/JAVA 2020. 2. 3. 22:27
Interface 인터페이스 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할 특징 추상클래스와 동일하게 설계 목적으로 사용 멤버변수: 상수만 가능, static final을 이용해서 정적 상수 선언 (static final)을 작성하지 않아도 자동으로 설정됨 추상메소드만 선언 가능, 일반메소드 사용 X ↔ 추상 클래스 추상메소드만 사용하기 때문에 abstract 예약어 사용 X(써도 되긴 함) 인터페이스 간 상속 가능 인터페이스를 상속받은 자식 클래스는 반드시 인터페이스의 추상메소드를 오버라이딩해야 함 강제성, 통일성 부여 구현된 코드가 없기 때문에 객체를 생성할 수 없음 다형성을 지원하는 방법 중 하나 ※ 전체 프로그램의 설계도 역할, 둘 이상의 클래스에 통일성을 부여함 추상 클래스와의..