18
15. 스스스 , 스스 , 스스스 , 스스스 2014 스 04 스 23 스 19:00 스스스

15. 스레드 , 예외 , 패키지 , 컬렉션

Embed Size (px)

DESCRIPTION

15. 스레드 , 예외 , 패키지 , 컬렉션. 2014 년 04 월 23 일 19:00 배근영. 15. 스레드 , 예외 , 패키지 , 컬렉션. 스레드 스레드예제 예외와 예외처리 패키지 컬렉션. 스레드. 스레드란 ? - 시작점과 종료점을 가지는 일련된 하나의 작업흐름 ex)public static void main(String[] ar ) {}  시작블록 ({) 이 main 스레드 - PowerPoint PPT Presentation

Citation preview

Page 1: 15. 스레드 , 예외 , 패키지 , 컬렉션

15. 스레드 , 예외 , 패키지 ,컬렉션

2014 년 04 월 23 일 19:00

배근영

Page 2: 15. 스레드 , 예외 , 패키지 , 컬렉션

15. 스레드 , 예외 , 패키지 , 컬렉션

스레드

스레드예제

예외와 예외처리

패키지

컬렉션

Page 3: 15. 스레드 , 예외 , 패키지 , 컬렉션

스레드 스레드란 ?

- 시작점과 종료점을 가지는 일련된 하나의 작업흐름 ex)public static void main(String[] ar) {} 시작블록 ({) 이 main 스레드 의 시작점이 (})main 스레드의 종료점 . Main() 메서드 내용부가 일련의 작업 흐름이다 .

멀티 스레드란 ?

- 쉽게 말해서 인터넷에서 파일을 다운로드 할 때에 하나의 파일이 다운로드가 시작되고 진행되고 종료되는 흐름이 “하나의 스레드”여기에서 여러 개의 파일 을 다운로드 하게 되면 이것을 "멀티 스레드”라고 한다

Page 4: 15. 스레드 , 예외 , 패키지 , 컬렉션

스레드

스레드 상속 작성 방법- 스레드를 상속받는 클래스를 작성한다 .

- run() 메서드를 오버라이딩하여 내용부를 구성한다 .

-main() 메서드 내부에서 스레드를 상속받은 클래스의 객체를 생성한다 .

- 해당 객체의 start() 메서드를 호출한다

Runnable 구현 작성방법- Runnable 을 구현하는 클래스를 작성한다 .

- Run() 메서드를 오버라이딩하여 내용부를 구현한다 .

- Main() 메서드에서 Runnable 을 구현한 클래스의 객체를 생성한다 .

- Thread 객체를 생성하여 매개 변수로 3 번의 객체를 대입한다 - Thread 객체의 start() 메서드를 호출한다 .

Page 5: 15. 스레드 , 예외 , 패키지 , 컬렉션

스레드예제-Runnable 을 구현하는 클래스

Page 6: 15. 스레드 , 예외 , 패키지 , 컬렉션

스레드- 스레드를 상속받은 클래스

Page 7: 15. 스레드 , 예외 , 패키지 , 컬렉션

스레드예제- 스레드의 우선순위 값 확인

Page 8: 15. 스레드 , 예외 , 패키지 , 컬렉션

예외와 예외 처리

예외 : 특정 규칙이나 범위에서 어긋남을 말함 . 프로그램 실행 시 예상치 못한 일로 인한 에러

● 정수와 정수 사이의 연산에서 10/0 도 예외 - 실수 경우에는 0 으로 나누면 infinity 라는 값이 출력 정수에서는 나눌 수 없는 상태가 된다 .

● 사용자가 파일을 열려고 할 때 해당 파일이 없는 경우 또한 예외이다 .

예외처리 : 위의 예와같이 흔히 발생 할 수 있는 일이 발생했을떄 프로그래머가 원하는 방향으로 움직이도록 만드는 일

Page 9: 15. 스레드 , 예외 , 패키지 , 컬렉션

예외와 예외 처리

예외 처리에 사용하는 예약어들 ●throw: 프로그래머가 의도적으로 예외를 강제로 발생 시키는 것 .

●throws: 예외를 전가 시키는 것 . 일반적으로 예외가 발생할 가능성이 작거 나 거의 없는 경우 코드를 단순화 시킬 용도로 많이 사용 ●try~catch~finally: 실제로 예외를 처리하는 것으로 다음과 같은 용도로 사용 - 예외 발생시 정상 종료 - 예외 발생시 예외 내용 보고 - 예외 발생시 무시하고 실행 - 예외 발생시 대안적인 결과값 대입

Page 10: 15. 스레드 , 예외 , 패키지 , 컬렉션

예외와 예외 처리

예외를 개발자의 의도에 따라 처리하는 형식은 다음과 같다 .

Try{ 예외 발생 예상 지역 ;}catch( 예외 _ 발생 _ 예상 _ 클래스 객체 ) { 예외 발생시 처리할 내용 ; }finally { 예외가 발생하든 발생하지 않든 처리해야 할 내용 ; }

Page 11: 15. 스레드 , 예외 , 패키지 , 컬렉션

예외와 예외처리

1) IOExeption 의 예외처리

Page 12: 15. 스레드 , 예외 , 패키지 , 컬렉션

패키지

패키지 : 클래스 파일을 폴더 별로 관리 한다고 생각하면 쉬움 .

패키지 생성방법1) Java 파일 상단부에‘ package 경로 . 경로 . 경로… .’ 을 기재한다 .

- packag 라는 예약어보다 먼저 쓸 수 있는 것은 주석 처리 밖에 없다 .

import 보다도 먼저 package 라는 예약어를 사용해야함 .

ex)package bae.util;

import java.io.*;

class lmsi{…}

Page 13: 15. 스레드 , 예외 , 패키지 , 컬렉션

패키지

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* 라고 작성하면 사용 할 수 있다 .

Page 14: 15. 스레드 , 예외 , 패키지 , 컬렉션

컬렉션

컬렉션 ( Set, Map, List 세 가지의 종류가 있음 )

●Set

- 중첩 데이터를 구분하지 못하고 순서 정렬이 되지 않는 ‘로또‘와 비슷한 형태 의 무한 형태의 무한 데이터 입력 방식 ●Map

-Set 과 비슷하지만 중첩 데이터를 특정 키 , 값에 의해 구분 할 수 있는 방식이다 .

다시 말해 입력되는 데이터마다 특정 키값을 하나씩 설정하여 가지고 있다는 것이다 .

●List

- 입력된 순서대로 기억되는 형태이다 . 당연히 순서가 있으므로 중첩 데이터를 구분 할 수 있다 .

Page 15: 15. 스레드 , 예외 , 패키지 , 컬렉션

컬렉션 Java.util.Hashset 클래스를 이용한 set 컬렉션

Page 16: 15. 스레드 , 예외 , 패키지 , 컬렉션

컬렉션

Java.util.Vector 클래스를 이용한 list 컬렉션

Page 17: 15. 스레드 , 예외 , 패키지 , 컬렉션

컬렉션 Java.util.Hashtable 클래스를 이용한 Map 컬렉션

Page 18: 15. 스레드 , 예외 , 패키지 , 컬렉션

감사합니다 !!