반응형

프로그래밍 정리 298

Runnable, NotRunnable, Dead

Runnable - Runnable 인터페이스를 구현-> run() 메소드를 반드시 재정의해야 함.-> run() 메소드를 재정의한 클래스를 Thread클래스의 매개변수로 삽입 ================================================================================================================= import java.awt.Frame; class SoloFrame extends Frame implements Runnable{private int number = 0;public SoloFrame(int n) {// TODO Auto-generated constructor stubnumber = n;Thread t = new..

쓰레드(Thread)

프로세스와 쓰레드- Process-> 실행중인 프로그램=> ex) word, 스타크래프트 Thread-> 프로세스 내부에서 실행되는 일련의 작업=> ex) save or print, SCV or Hydra 자바의 Thread란?-> 실행중인 프로그램 내의 순차적 제어흐름들-> 자바 프로그램=> main 쓰레드가 main() 함수 수행=> finalize 쓰레드가 finalize() 함수 수행-> 다중 쓰레드 프로그램=> 동시에(concurrently) 여러 가지 작업을 할 수 있음-> 이점=> 실행속도=> 빠른 반응 시간=> 동시성을 갚는 프로그램을 쉽게 작성-> 다중 프로세스와 다중 쓰레드=> 성능과 크기=> 통신의 효율성 Thrad의 상태- 쓰레드의 생성-> 쓰레드의 시작 - Runnable-> 쓰레..

인터페이스에서 사용할 수 있는 멤버 변수

- 인터페이스는 순수하게 추상 메서드로 이루어진 클래스. 인터페이스를 계속해서 클래스라고 칭하는 것은 인터페이스도 컴파일하면 .class 파일로 되기 때문. - 인터페이스는 추상 메서드로 이루어져 있지만 멤버 변수로 스태틱 상수 변수(Static Constant Variable)는 포함할 수 있음. - 상수 변수를 선언하는 예-> final int TOP = 1000; - 상수(Constant)는 일반적으로 바꿀 수 없는 수를 말함. 그리고 상수 변수(Constant Variable)는 변수이지만 단 한번의 초기화를 거친 후에는 절대 그 값을 변경할 수 없는 특징이 있음. 만약 상수 변수를 선언한 후 다른 값을 할당하면 에러 발생. - 상부 변수는 단 한 번의 할당을 함.-> final int TOP =..

일반적인 인터페이스의 구조

- 인터페이스를 만들기 위해서는 class라는 키워드 대신에 interface라는 키워드를 사용.그리고 인터페이스 내에는 몸체가 없는 추상 메서드만을 추가시키면 됨. ============================================================================================================ public interface IRemoteControl {void powerOn();// 추상 메서드void powerOff();// 추상 메서드void channelUp();// 추상 메서드void channelDown();// 추상 메서드/* * public abstract void powerOn();// 추상 메서드 * public abstr..

인터페이스란?

- 인터페이스(Interface)란 골격만 가지고 있는 클래스.골격만 가지고 있다는 말은 순수하게 몸체 없는 메서드의 집합으로 이루어져 있다는 것을 의미.인터페이스 내에는 구현된 메서드가 아예 들어갈 수 없음.구현 자체가 전혀 없는 순수한 추상메서드로만 이루어져 있는 클래스가 바로 인터페이스(Interface) - 인터페이스의 정의-> 골격만 가지고 있는 클래스-> 몸체 없는 메소드(추상 메서드)로만 이루어진 클래스 - 추상 메서드를 포함한다는 측면에서 본다면 추상 클래스와 비슷한 면을 가지고 있음. 추상 클래스는 클래스의 일부분이 추상 메서드로 이루어져있지만, 인터페이스는 전체가 구현되지 않은 추상 메서드로 이루어져 있는 클래스. - 인터페이스(Interface)의 주의 사항-> 인터페이스도 클래스의 ..

System.in

- 표준 입출력 스트림은 미리 생성된 스트림이기 때문에 사용자가 직접 생성할 필요는 없음. 다른 언어에서도 표준 입출력 스트림은 미리 개설해 두는 것을 기본으로 함. - System.in은 사용 방법은 단순함. 단순히 read()만 호출하면 됨. System.in.read()를 호출했을 때 스트림으로 데이터가 들어올 때까지 작업을 진행하지 않고 대기하는 것이 특징.임의의 데이터를 입력한 후 엔터키를 누르면 그 때 read()가 반응하게 됨. ============================================================================================================ import java.io.IOException; public class..

표준 출력

- 스트림 중에서 기본적으로 가장 많이 사용되는 스트림은 바로 입출력 스트림.표준 입출력 스트림의 종류는 다음과 같이 java.lang 패키지의 System 클래스에 스태틱 멤버로 선언되어 있으면서 자동으로 초기화되기 때문에 단순히 System.in 또는 System.out 그리고 System.err와 같이 사용하기만 하면 됨. - System 클래스의 표준 입출력 스트림 멤버-> package java.lang;public class System{public static PrintStream out;public static InputStream in;public static PrintStream err;// 중간 생략}-> 이 중에서 PrintStream out은 콘솔 화면에 문자열을 출력하기 위한 용..

문자 스트림과 바이트 스트림

- 원래 스트림은 바이트 단위로 핸들하는 것을 기본으로 함.문자도 내부적으로 바이트 단위로 되어 있으며, 프로그램에서 문자를 사용할 때는 적절한 문자 인코딩으로 변환해서 사용해야함.이러한 불편을 해소하기 위해서 스트림 차원에서 문자를 처리해 주는 문자 스트림을 제공. 스트림을 바이트로 핸들하느냐 문자로 핸들하느냐에 따라서 두 가지 종류로 나눌 수 있음. - 바이트와 문자에 대한 스트림의 종류-> 바이트 스트림 : 바이트 단위-> 문자 스트림 : 문자 단위 - 바이트 스트림-> 바이트 스트림은 데이터를 바이트 단위로 주고 받는 것을 말함.대표적인 바이트 스트림은 InputStream과 OutputStream임. 그렇다면 InputStream과 OutputStrea을 통과하는 단위는 당연히 바이트. 8bit..

스트림의 종류

- 스트림은 데이터의 입출력을 도와주는 중간자 역할.데이터의 목표지점이 네트워크의 어느 장소이든, 메모리이든 상관하지 않음. 다만 해당 데이터를 스트림으로 보내고 그리고 스트림에 존재하는 데이터를 읽어들이거나 기록해 버리면 끝. 목표지점이 어디라도 상관없으며 복잡한 작업은 스트림이 알아서 해결해 준다는 의미. - 스트림의 가장 기본적인 분류는 입력과 출력 스트림으로 나눌 수 있음. - 스트림의 기본적인 분류-> 입력 스트림(예 : FileInputStream, ObjectInputStream)-> 출력 스트림(예 : FileOutputStream, ObjectOutputStream) - 문자 스트림 : 문자 스트림은 최상위의 Reader와 Writer로 이루어져 있음. Reader - BufferRead..

반응형