180 likes | 308 Vues
15. 스레드 , 예외 , 패키지 , 컬렉션. 2014 년 04 월 23 일 19:00 배근영. 15. 스레드 , 예외 , 패키지 , 컬렉션. 스레드 스레드예제 예외와 예외처리 패키지 컬렉션. 스레드. 스레드란 ? - 시작점과 종료점을 가지는 일련된 하나의 작업흐름 ex)public static void main(String[] ar ) {} 시작블록 ({) 이 main 스레드
E N D
15.스레드,예외,패키지,컬렉션 2014년 04월 23일 19:00 배근영
15.스레드,예외,패키지,컬렉션 • 스레드 • 스레드예제 • 예외와 예외처리 • 패키지 • 컬렉션
스레드 • 스레드란? - 시작점과 종료점을 가지는 일련된 하나의 작업흐름 ex)public static void main(String[] ar) {} 시작블록 ({) 이main 스레드 의 시작점이 (})main 스레드의종료점. Main()메서드 내용부가 일련의 작업 흐름이다. • 멀티 스레드란? - 쉽게 말해서 인터넷에서 파일을 다운로드 할 때에 하나의 파일이 다운로드가 시작되고 진행되고 종료되는 흐름이 “하나의 스레드”여기에서 여러 개의 파일 을 다운로드 하게 되면 이것을 "멀티 스레드”라고 한다
스레드 • 스레드 상속 작성 방법 - 스레드를 상속받는 클래스를 작성한다. - run() 메서드를오버라이딩하여내용부를 구성한다. -main()메서드 내부에서 스레드를 상속받은 클래스의 객체를 생성한다. -해당 객체의 start() 메서드를 호출한다 • Runnable 구현 작성방법 • Runnable을 구현하는 클래스를 작성한다. • Run()메서드를오버라이딩하여내용부를구현한다. • Main()메서드에서Runnable을 구현한 클래스의 객체를 생성한다. • Thread 객체를 생성하여 매개 변수로 3번의 객체를 대입한다 • Thread 객체의start() 메서드를 호출한다.
예외와 예외 처리 • 예외: 특정 규칙이나 범위에서 어긋남을 말함. 프로그램 실행 시 예상치 못한 일로 인한 에러 ● 정수와 정수 사이의 연산에서 10/0도 예외 - 실수 경우에는 0으로 나누면 infinity라는 값이 출력 정수에서는 나눌 수 없는 상태가 된다. ●사용자가 파일을 열려고 할 때 해당 파일이 없는 경우 또한 예외이다. • 예외처리: 위의 예와같이 흔히 발생 할 수 있는 일이 발생했을떄 프로그래머가 원하는 방향으로 움직이도록 만드는 일
예외와 예외 처리 • 예외 처리에 사용하는 예약어들 ●throw: 프로그래머가 의도적으로 예외를 강제로 발생 시키는 것. ●throws:예외를 전가 시키는 것. 일반적으로 예외가 발생할 가능성이 작거 나 거의 없는 경우 코드를 단순화 시킬 용도로 많이 사용 ●try~catch~finally:실제로 예외를 처리하는 것으로 다음과 같은 용도로 사용 -예외 발생시 정상 종료 -예외 발생시 예외 내용 보고 -예외 발생시 무시하고 실행 -예외 발생시 대안적인 결과값 대입
예외와 예외 처리 • 예외를 개발자의 의도에 따라 처리하는 형식은 다음과 같다. Try{ 예외 발생 예상 지역; }catch(예외_발생_예상_클래스 객체) { 예외 발생시 처리할 내용; }finally { 예외가 발생하든 발생하지 않든 처리해야 할 내용; }
예외와 예외처리 • IOExeption의 예외처리
패키지 • 패키지: 클래스 파일을 폴더 별로 관리 한다고 생각하면 쉬움. • 패키지 생성방법 • Java파일 상단부에‘package 경로.경로.경로….’을 기재한다. - packag라는 예약어보다 먼저 쓸 수 있는 것은 주석 처리 밖에 없다. import보다도 먼저 package라는 예약어를사용해야함. ex)package bae.util; import java.io.*; class lmsi{…}
패키지 2)Java 컴파일러의’-d’ 옵션을 이용하여 컴파일 한다. -패키지를 생성하기 위한 옵션은 ‘-d’이다. 이것을 사용하면 패키지에서 지정한 경로가 자동으로 폴더를 생성되고 그 속에 클래스 파일이 생성 형식)javac –d 생성_위치 자바_파일명.java Ex)javac –d . Lsmi.java 여기에서’.’이라는 것은현재 폴더를 기준으로 폴더를 생성하라는 의미 . 만약 c:wwork폴더아래 생성되기를 원한다면 javac –d뒤에 c:wwork를 넣으면 된다 3) Import나 절대 경로명으로 접근하여 사용한다. -ex) Date클래스를 사용하기위해서는import java.util.* 를 기재하듯이 위에서만든lsmi.java클래스를 사용하기 위해서는 import bae.util*라고작성하면 사용 할 수 있다.
컬렉션 • 컬렉션( Set, Map, List 세 가지의 종류가 있음) ●Set -중첩 데이터를 구분하지 못하고 순서 정렬이 되지 않는 ‘로또‘와 비슷한 형태 의 무한 형태의 무한 데이터 입력 방식 ●Map -Set과 비슷하지만 중첩 데이터를 특정 키,값에 의해 구분 할 수 있는 방식이다. 다시 말해 입력되는 데이터마다 특정 키값을 하나씩 설정하여 가지고 있다는 것이다. ●List -입력된 순서대로 기억되는 형태이다. 당연히 순서가 있으므로 중첩 데이터를 구분 할 수 있다.
컬렉션 • Java.util.Hashset클래스를 이용한 set 컬렉션
컬렉션 • Java.util.Vector클래스를 이용한 list 컬렉션
컬렉션 • Java.util.Hashtable클래스를 이용한 Map 컬렉션