JAVA 33

32. 자바 IO (3) - Char 단위 입출력

1) Char 단위 입출력(Console) char단위 입출력 클래스는 클래스 이름이 Reader나 Writer로 끝이 납니다. char단위 입출력 클래스를 이용해서 키보드로 부터 한줄 입력 받아서 콘솔에 출력 System.in - 키보드를 의미 (InputStream ) BufferedReader - 한줄씩 입력 받기위한 클래스 BufferedReader 클래스의 생성자는 InputStream을 입력받는 생성자가 없다. System.in은 InputStream 타입이므로 BufferedReader의 생성자에 바로 들어갈 수 없으므로 InputStreamReader 클래스를 이용해야함. 2) Char 단위 입출력(File) char단위 입출력 클래스는 클래스 이름이 Reader나 Writer로 끝이 납니..

JAVA 2021.03.30

31. 자바 IO (2) - 다양한 타입의 입출력

1) 다양한 타입의 출력 try-with-resources 블럭 선언 java io객체는 인스턴스를 만들고, 모두 사용하면 close()메소드를 호출해야 한다. close()메소드를 사용자가 호출하지 않더라도, Exception이 발생하지 않았다면 자동으로 close()가 되게 할 수 있는 방법 다양한 타입으로 저장 할 수 있는 DataOutputStream wirteInt() - 정수값으로 저장 wirteBoolean() - boolean값으로 저장 writeDouble() - double 값으로 저장 2) 다양한 타입의 입력 data.dat로부터 값을 읽어들여 화면에 출력하는 클래스 다양한 타입의 데이터를 읽어낼 수 있는 DataInputStream readInt() -정수를 읽어들이는 메소드 rea..

JAVA 2021.03.30

30. 자바IO (1) - 정의, byte 단위 입출력

1) 입출력을 위한 인터페이스와 클래스들 자바 IO는 크게 byte단위 입출력과 문자 단위 입출력클래스로 나뉩니다. byte단위 입출력클래스는 모두 InputStream과 OutputStream이라는 추상클래스를 상속받아 만들어집니다. 문자(char)단위 입출력클래스는 모두 Reader와 Writer라는 추상클래스를 상속받아 만들어집니다. 4가지 추상클래스(InputStream,OutputStreamReader,Reader,Writer)를 받아들이는 생성자가 있다면, 다양한 입출력방법을 제공하는 클래스입니다. 4가지 클래스를 받아들이는 생성자가 없다면, 어디로부터 입력받을 것인지, 어디에 쓸것인지를 나타내는 클래스입니다. 파일로 부터 입력받고 쓰기 위한 클래스 : FileInputStream, FileO..

JAVA 2021.03.30

28. Generic

Generic Box 클래스 BoxExam 클래스 Box는 매개변수로 Object를 하나 받아들이고, Object를 반환한다. Object를 받아들일 수 있다는 것은 Object의 후손이라면 무엇이든 받아들일 수 있다는 것이다. Java5에는 Generic이라는 문법이 사용됨으로써 인스턴스를 만들때 사용하는 타입을 지정하는 문법이 추가 Generic을 이용하여 Box 클래스 수정 클래스 이름 뒤에 가 제네릭을 적용한 것이다. Box는 가상의 클래스 E를 사용한다는 의미. Object를 받아들이고, 리턴하던 부분이 E로 변경. E는 실제로 존재하는 클래스는 아니다. Generic을 이용하여 수정한 Box를 이용하는 BoxExam클래스 참조타입에 , , 가 있는 것을 볼 수 있다. 첫번째는 Object를 사..

JAVA 2021.03.29

27. 컬렉션 프레임 워크 (1)

컬렉션 프레임워크 java.util패키지에는 자료를 다룰 수 있는 자료구조 클래스가 다수 존재합니다. 자료구조 클래스들을 컬렉션 프레임워크라고 한다. 자료구조란 자료를 저장할 수 있는 구조 책을 보관하기 위해서 책장을 이용하는 것처럼 다양한 자료들을 다양한 방식으로 관리하기 위한 방법이 필요한데, 이러한 방법을 제공하는 것을 자료구조, 컬렉션 프레임워크이다. 컬렉션 프레임워크에서 가장 기본이 되는 interface는 Collection인터페이스 Collection인터페이스는 여기에 자료가 있다라는 것을 표현. 중복도 허용하고, 자료가 저장된 순서도 기억하지 못하는 것이 Collection인터페이스. Collection이 가지고 있는 대표적인 메소드는 add(), size(), iterator() 메소드 ..

JAVA 2021.03.29

25. 스트링버퍼 / 스트링 클래스의 문제점

1) 스트링버퍼 아무 값도 가지고 있지 않은 StringBuffer객체를 생성 출력결과 : hello world StringBuffer가 가지고 있는 메소드들은 대부분 자기 자신, this를 반환 자기 자신의 메소드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메소드체이닝 이라고 한다. StringBuffer클래스는 메소드 체인 방식으로 사용할 수 있도록 만들어져 있다. 앞에서 5줄로 작성했던 코드를 위와 같이 한 줄로 수정할 수 있습니다. StringBuffer는 append메소드 외에도 길이를 구하거나, 자르거나 등의 다양한 메소드들을 가지고 있습니다. 2) 스트링 클래스의 문제점 String클래스는 문자열을 다룰때 사용하는 클래스 String클래스는 불변클래스 이다. 실행결과 기존의 str1은 전혀..

JAVA 2021.03.29

24. java.lang 패키지/오토박싱

1) java.lang 패키지/오토박싱 자바는 기본적으로 다양한 패키지를 지원 그중에서 가장 중요한 패키지 java.lang패키지의 클래스는 import를 하지 않고도 사용할 수 있다. java.lang패키지에는 기본형타입을 객체로 변환시킬때 사용하는 Wrapper클래스가 있다. Boolean, Byte, Short, Integer, Long, Float, Double 클래스 모든 클래스의 최상위 클래스인 Object도 java.lang패키지 문자열과 관련된 String, StringBuffer, StringBuilder도 모두 java.lang패키지 화면에 값을 출력할때 사용했던 System클래스도 java.lang패키지 수학과 관련된 Math클래스도 java.lang패키지 Thread와 관련된 중요 ..

JAVA 2021.03.29

23. 사용자 정의 Exception

사용자 정의 Exception Exception 클래스를 상속 받아 정의한 checked Exception 반드시 오류를 처리 해야만 하는 Exception 예외 처리하지 않으면 컴파일 오류를 발생 시킨다. RuntimeException 클래스를 상속 받아 정의한 unChecked Exception 예외 처리하지 않아도 컴파일 시에는 오류를 발생시키지 않는다. RuntimeException을 상속받은 BizException객체 BizService클래스는 업무를 처리하는 메소드를 가지고 있다고 가정한다. 앞에서 만든 BizService를 이용하는 BizExam클래스 매개변수 값을 -1을 넘길때는 Exception이 발생하기 때문에 try catch블록으로 처리한다.

JAVA 2021.03.29