더보기 어제 배운 내용 인터페이스 프로세스 보다 더 작은 프로세스 프로세스 안에서 돌고 있는 응용 프로그램 생명주기 New, Runnable, Running, Blocked, Dead join() 동기화 : 한 자원을 공유할 때 symchronized block : symchronized method 네트워크 inner class 클래스 안의 클래스 독립적이지 않고 외부 클래스(out class)에 종속적인 클래스 외부 클래스를 생성하고 inner class 를 생성해서 사용 - static inner class 는 외부 클래스 없이도 사용가능 (있어도 ok) 외부 클래스의 멤버를 내 것 처럼 사용이 가능 member :클래스 내부 어디에서나 생성 static : member inner class + s..
전체 글
BufferedReader와 BufferedWriterBufferedReader와 BufferedWriter는 입출력 속도를 개선하고, 버퍼링을 통해 많은 데이터를 효율적으로 처리할 수 있음매번 입출력 스트림으로부터 데이터를 읽고 쓰는 것보다 버퍼링을 통해 오버헤드를 줄일 수 있음대용량 데이터 처리를 빠르게 처리 가능BufferedReader (Scanner 대체)선언 및 사용BufferedReader br = new BufferedReader(new InputStreamReader(System.in));br.readLine();한줄에 하나씩 String 값을 반환한다.StringTokenizer원하는 구분자로 문자열을 구분해줌, 지정하지 않을경우 공백으로 구분StringTokenizer st = new..
예외처리 ( Try Catch ) public class ExceptionTest { // 예외처리 .. 중간에 멈추지 않게 하기 위해서 // try catch 문 사용빈도 줄이기 위해 throws public static void main(String[] args) throws ArrayIndexOutOfBoundsException{ int[] arr = { 1, 2, 3, 4 }; for (int i = 0; i < 5; i++) { try {// 예외 발생 예상 환경 System.out.println(arr[i]); // 에러 발생한 순간 아래 문장 실행이 아니라 catch 로 이동 System.out.println("Test"+i); } catch (ArrayIndexOutOfBoundsExcep..
더보기 어제 배운 내용 인터페이스 추상 클래스를 구체화 시킨 것 상속x 구현 = implements 상수 (final static)& 추상메소드 를 가지고 있음 제네릭 set > 중복된 데이터 허용 X .. hash map 등 > 속도 저하 list > 배열, linked list > ArrayList (순차적)& LinkedList 쓰레드 ... 사실 멀티 스레드 진행되더라도, 동시 실행x 하나만 실행(병행처리) -> HW 발전으로 동시처리 처럼 보임 New : 스레드는 자바에서 API 로 제공 -> New Thread() Runnable : 스레드의 start() 메서드 호출시 --> 사용자는 여기까지만, 스케쥴러에 넘겨주는 작업까지만 Running : 동작 -> 스레드 스케쥴러가 진행 run() 메..
작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다. 다른 관점에서 보면 동일한 기능을 상위 클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록 한다. - 상위 클래스에서는 공통적, 하위 클래스에서는 다양하게 코딩을 한다. 즉, 확장적이고 공통적인건 상위 클래스에서 정의하고 그렇지 않은 것은 imterface로 하위 클래스에서 정의 - Abstract class --> Concrete class 템플릿 메소드 package designPattern.TemplateMethod; public ab..