본문 바로가기

Java6

[Concept] JAVA (입출력 스트림, OutputStream, InputStream, Writer, Reader, 보조 스트림, 입출력 관련 API) 1. 스트림(Stream)  자바에서 데이터는 스트림을 통해 입출력된다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말한다. 프로그램이 출발지인지(출력 스트림) 또는 도착지인지(입력 스트림)에 따라서 사용하는 스트림의 종류가 결정되며, 스트림을 사용하기 위해서는 java.io.* 패키지를 import 해줘야 한다.  1.1 입출력 스트림 종류 java.io 패키지에는 여러 가지 종류의 스트림 클래스를 제공하기 때문에 스트림을 사용하기 위해서는 해당 패키지를 import 해야한다. 이러한 스트림 클래스는 크게 두 종류로 구분되며, 최상위 클래스를 통해 종류를 판단할 수 있다. 1) 바이트(byte) 기반 스트림 (1byte) : 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용 2) 문자.. 2022. 7. 20.
[Concept] JAVA (제네릭스, 컬렉션 프레임워크, Set, Map, Stack, Queue) 1. 제네릭스 매개변수화된 자료형으로 클래스, 인터페이스, 메소드에도 적용할 수 있다. 재네릭스를 이용하면 매개변수에 다양한 자료형의 데이터를 넘길 수 있으므로 코드 재사용을 높여준다.void set(T x)     // 어떤 자료형이든 T에 넣을 수 있다.{   System.out.println(x);  }1.1 제네릭 클래스(내부)클래스명(외부)클래스명 객체명 = new 클래스명 ();  // 두번재 클래스명은 생성자이때 타입은 기본형이 아니라 클래스 타입(Integer, String, Double 등)을 사용하거나 레퍼런스 형을 사용해야 한다.  *관습적으로 제내릭스 타입은 대문자 1개로 선언함. 재네릭스 타입이 변환되는 과정은 다음과 같다. 19번째 줄을 통해 Data의 생성자가 호출되고 매개변수.. 2022. 7. 4.
[Concept] JAVA (java.lang 패키지, java.system 패키지, 동기화, 스레드) 1. java.lang 패키지1.1 Object Object 클래스는 자바의 최상위 부모 클래스로 모든 클래스는 Object 클래스의 자식이거나 자손 클래스이다. 때문에 클래스를 선언할 때 extends 키워드가 명시되어 있지 않더라도 암시적으로 Object 클래스를 상속한다. 그 근거로 모든 클래스에서는 Object의 메소드인 equals, toString을 사용할 수 있다.equals와 ==의 차이점 보통 두 객체를 동등 비교할 때 equals와 ==를 사용하지만 결과는 조금 다르다. ==는 객체의 번지를 비교하여 두 객체가 동일한 객체이면 true를 리턴하며 그렇지 않으면 false를 리턴한다. Object의 equals의 경우 ==와 동일하지만 프로그래머가 보통 사용하는 equals는 String.. 2022. 6. 22.
[Concept] JAVA (인터페이스, 중첩 클래스, 익명 객체, 예외) 1. 인터페이스 (Interface) 객체의 사용 방법을 정의한 타입으로 다양한 객체를 동일한 사용 방법으로 이용할 수 있다.  인터페이스는 객체로 생성할 수 없으므로 생성자를 가질 수 없다. 또한 데이터를 저장할 인스턴스 혹은 정적 필드 선언이 불가하며 상수 필드만 선언 가능하다.  인터페이스에서 작성하는 메소드는 실행 블록이 없는 추상 메소드이며, 인터페이스를 구현(implement)한 클래스에서 재정의해서 사용된다.[public] interface 인터페이스이름 {    [public static final] 타입 상수이름 = 값;  //public static final이 생략될 수 있다.    [public abstract] 리턴타입 메소드이름(매개변수, ...) //추상메소드}  위 예시와 같.. 2022. 6. 16.