자바

자바

[자바의 정석] - 15. 입출력 I/O

1️⃣자바에사 입출력이란? 1.1 입출력이란? 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것 Ex) System.out.println(); 1.2 스트림(Stream) 데이터를 운반하는데 사용되는 연결통로 연속적인 데이터 흐름 단반향 통신만 가능 => 입출력 동시 실행 시 2개의 스트림이 필요 1.3 바이트 기반 스트림 - InputStream, OutPutStream 스트림은 바이트 단위로 데이터를 전송 1.4 보조 스트림 스트림의 기능을 향상시키거나 새로운 기능 추가 입출력 처리는 불가능 Ex) test.txt 파일을 읽기위해 FileInputStream 사용, 입력성능을 향상시키기 위해 BufferedInputStream을 사용 //스트림 생성 FileInputStream fis..

자바

[자바의 정석] - 12. 지네릭스, 열거형, 애너테이션

1️⃣지네릭스(Generics) 1.1 지네릭스란? 컴파일 시 타입체크를 해주는 기능 => 타입의 안정성을 제공하고 코드가 간결해짐(형 변환 오류 방지) 1.2 지네릭 클래스 선언 class Box{ //T는 타입변수 T item; void setItem(T item){this.item=item;} T getItem(){return Item;} } static멤버에 타입변수 T는 사용할 수 X => T를 인스턴스 변수로 간주하기 때문 1.3 지네릭 클래스의 객체 생성과 사용 참조변수와 생성자에 대입된 타입이 일치 해야함 Box appleBox =new Box(); // OK Box appleBox =new Box(); // 에러 두 지네릭 클래스의 타입이 상속관계 일시는 가능 Box appleBox =n..

자바

[자바의 정석] - 11. 컬렉션 프레임

1️⃣컬렉션 프레임 1.1 컬렉션 프레임웍의 핵심 인터페이스 인터페이스 특징 List 순서가 있는 데이터 집함, 데이터 중복을 허용 Ex) 대기자 명단 Set 순서를 유지하지 않는 데이터의 집합, 데이터 중복 허용 X Ex) 소수의 집합 Map 키와 값의 쌍으로 이루어진 데이터의 집합, 순서 유지X, 중복 허용 Ex) 우편번호 List 메서드 설명 void add(int index, Object element) 지정된 위치에 객체 추가 object get(int index) 지정된 위치의 객체 반환 indexOf(Object o) 지정된 객체의 위치 반환 remove(int index) 지정된 위치에 있는 객체 삭제 후 반환 set(int index, Object element) 지정된 위치에 객체 저장..

자바

[자바의 정석] - 8. 예외처리

1️⃣예외처리 1.1 프로그램의 오류 오류 : 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우 컴파일 에러 : 컴파일 시 발생하는 에러 런타임 에러 : 실행 시 발생하는 에러 논리적 에러 : 실행은 되지만 의도와 다르게 동작하는 에러 에러 수습이 불가능한 심각한 오류 예외 수습 가능한 미약한 오류 1.2 예외 클래스의 계층구조 위 사진처럼 예외 클래스는 2개로 나뉘어진다. Exception : 외부의 영향으로 발생 Ex) 존재하지 않는 파일의 이름을 입력, 클래스 이름을 잘못 적기... runtimeException : 주로 프로그래머의 실수에 의해 발생 Ex)배열의 범위를 벗어남, 값이 null인 참조변수의 멤버 호출... 1.3 예외처리하기 - try - catch문 예외처리 : 비정상..

자바

[자바의 정석 ] - 7장. 객체지향 프로그래밍Ⅱ

3️⃣ package 3.1 패키지 클래스의 묶음(인터페이스도 포함O) 같은 이름의 클래스를 패키지명으로 구별 가능 물리적으로 하나의 디렉토리 모든 클래스는 하나의 패키지에 속함 계층구조 구성 3.2 패키지 선언 클래스, 인터페이스의 소스파일 맨 위에 선언 주석, 공백을 제외하고 제일 처음으로 단 한 번만 선언 되어야 함 패키지명은 소문자로 하는 것을 원칙 패키지를 지정하지 않는 클래스는 '이름없는 패키지'에 속하게 됨 따라서, 패키지가 지정되지 않은 클래스들은 모두 같은 패키지에 속함 package 패키지명; 3.3 import문 소스파일에 사용된 클래스의 패키지에 대한 정보를 컴파일러에게 제공 package문 과 클래스 선언 사이에 import문을 작성해야함 여러번 선언 O import 패키지명.클래..

자바

[자바의 정석] - 5. 배열 / 6. 객체지향

✔️ 배열 배열 : 서로 같은 타입의 여러변수를 하나의 묶음으로 다루는 것 인덱스 : 배열의 요소마다 붙여진 일련번호(인데스 < 배열의 길이) int a,b,c,d,e; //배열을 사용하지 않는다면 변수를 다 선언해야한다. // //타입[ ] 배열명 = new 타입[배열길이]; int arr[]=new int[5]; //배열을 통해 5개의 int값을 저장한다. int arr[]={1,2,3,4,5};//생성과 초기화를 동시에 for(int i=0;i

자바

[JAVA] - 상속

1️⃣클래스 1.1 상속의 정의와 장점 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속 자식 클래스의 멤버수 >= 부모 클래스 멤버수 상속의 장점 적은 양의 코드로 클래스 작성 가능 코드의 추가 및 변경 용이 상속의 특징 코드의 재사용 ↑ 코드 중복제거 생산성과 유지보수에 기여 상속해 주는 클래스 = 부모 클래스 상속을 받는 클래스 = 자식 클래스 class Parent{} //부모클래스 class child extends parent{} //자식클래스 class Parent{ //부모클래스 int age; //필드 public void Print(){ //메서드 System.out.prinln("나이: "+age); } class child ..