본문 바로가기

Java

(16)
JAVA AWT AWT ( Abstract Window Toolkit ) 자바에서 GUI를 구현하기 위한 컨테이너 클래스들을 모아놓은 집합이다. java.awt 패키지에 들어있다. 컨테이너 : 윈도우, 프레임 대화상자, 패널등을 의미 컴포넌트를 담고있다. 컴포넌트 : 버튼, 체크박스, 리스트, 텍스트상자등 컨테이너에 덧붙여져서 사용되는요소. 레이아웃 : 컨테이너에 컴포넌트들을 어떻게 배치할 것인지에대한 요소. * 컨테이너 (Frame ) window의 서브클래스로 프로그램창을 의미한다. 독립적으로 실행할 수 있다. 생성 : Frame f = new Frame(" 제목 "); 모양 : f.setSize(100,200); // 100: 가로길이 픽셀 , 200: 세로길이 필셀 출력 : f.setVisible(true); /..
JAVA java.io 패키지 Character Streams Byte Streams File => FileInputStream(노드객체) => InputStreamReader =>BufferedReader(필터객체)순서로 연결된다. import java.io.*; public class FileInputTest { public static void main(String[] args) { FileInputStream fi = null; // stream을 연다. try{ File file = new File("a.txt"); // 파일 객체 생성 fi = new FileInputStream(file); // file 과 FileInputStream과 연결시켜 준다. InputStreamReader isr = new InputStrea..
JAVA Thread ( Cont. ) * Thread state control method sleep() 스레드를 CPU 점유상태(running) 에서 대기 상태로 돌아가고, 다른 스레드에게 CPU권한을 넘겨줌. public static void sleep(long miliseconds ) throws InterruptedException 사용 예 ) try{ Thread.sleep(1000); }catch(InterruptedException e){ e.printStackTrace(); } sleep method를 사용하는 동안에는 InterruptedException 이 발생할 수 있기 때문에 try & catch 를 이용한다. 그 외에 yield(), notify(), wait() 등이 있다. 사용 예 ) /* 스택 */ class M..
JAVA Thread 실행 중인 하나의 프로그램을 프로세스라고 한다면 그 프로세스내에서의 하나의 작업단위를 스레드라고 부른다. 멀티스레딩이란 프로그램 내에서 코드나 데이터를 공유하면서 동시에 여러가지 작업단위를 처리하는 것을 말한다. 각 스레드는 스택 메모리 영역을 가지고 있다. 프로세스와는 달리 독립적이지 않은 동일한 코드와 데이터를 공유하기 때문에 자원을 절약할 수 있다. 스레드는 결과적으로 전체적인 어플리케이션의 성능향상에 도움을 준다. * 스레드 작성 방법 1. java.lang.Runnalble 인터페이스 이용 Runnable 인터페이스에는 run()이라는 추상메소드를 하나 가지고 있다. run() 메소드 내에서 구현한 내용은 실제 스레드에 의해 실행되는 코드가 된다. public class TestRunnable ..
JAVA 예외처리 사용자에 의해서 발행하는 예외 컴퓨터에 존재하지 않는 파일일 읽으려고 시도하거나, 배열크기 보다 큰 인덱스를 호출하거나 0으로 나누기 등의 사용자의 실수에 의한 예외를 처리해 준다. Exception class 에서 처리한다. 시스템에 의해 발생하는 예외 스택영역에서 오버플로가 발생하거나, 메모리 용량 부족등으로 인한 에러를 처리해 준다 Error class에 의해서 처리된다. * 예외 처리 방식 try - catch - finally 블록 사용 , throws 구문을 이용해서 예외 발생 가능성 있는 문장을 선언 런타임 시스템은 try 블록 안에서 예외 발생시 예외를 throw 하여 핸들링 하고 무사히 예외가 처리된다면 프로그램을 계속 실행한다. try { //예외 발생 가능성이 있는 코드 } catch..
JAVA Collection API Collection 인터페이스 1. Collection API의 최 상위 계층의 인터페이스다. 2. Set, List, Heap 인터페이스의 부모 인터페이스. 3. 객체를 저장하고 삭제, 검색하는 여러가지 메소드를 제공한다. 4. Collection에 저장되는 객체들을 이반적으로 Element라고 부른다. 5. Collection 타입에 따라 Element의 중복을 허용하기도 하고 허용하지 않기도 한다. 6. Collection 타입에 따라 입력된 순서를 관리할 수도 있다. 7. add, remove, size, isEmpty, contains, iterator 등의 메소드를 제공한다. Set 인터페이스 ( LinkedList, ArrayList ) 1. Element 의 중복을 허용하지 않는다. 2. ..
JAVA String 과 StringBuffer String객체는 변경이 불가능한 immutable 객체이다. String클래스의 메소드를 이용해서 문자열을 바꾼느 것은 문자열 내용이 바뀐것이 아니라 새로운 객체가 생성된 것이라고 생각하면 된다. 문자열을 계속 바꾸게 된다면 그만큼 쓸모없는 객체가 많아진다는 것이기 때문에 시스템의 과부화를 불러올 수 있다. String Class의 유용한 method 1. length() String string = "abcde"; int len = string.length; // len에는 5가 입력된다. 2. charAt() Stirng string = "abcde"; char a = string.charAt(3); // a에는 d가 입력된다. 0번지 부터 시작해서 3번지의 위치는 d 3. substring() S..
JAVA 중첩클래스 ( Nested Class ) 1. 중첩 클래스는 클래스 내부에 또 다른 클래스를 정의하는 것이다. 2. 클래스의 맴버 위치에 정의할 수도 있고, 로컬 변수처럼 메소드 바디에 정의할수 있다. 메소드 바디에 정의된 클래스를 로컬 클래스라고 부른다. 3. 로컬클래스는 final 변수만 엑세스할 수 있다. 4. 중첩클래스는 독립 객체 형태로 존재할 수 없다. ex) 일반 중첩 클래스 public class A { private a; class B { public void c() { a++; // 아웃터클래스의 맴버를 자유롭게 접근할 수 있다. } } void aa() { } } 객체생성 방법 A outer = new A(); A.B b = outer.new B(); d반드시 바깥 클래스의 객체를 생성한 뒤 안쪽 클래스의 객체를 생성할 수 ..