JAVA공부하기127

패키지(package)

- JAVA에서는 서로 관련된 클래스를 하나의 단위로 그룹화

- 계층 구조를 이루고 있음(이름만)

- 소프트웨어 재사용을 위한 매커니즘

- C/C++의 라이브러리와 동일

- 사용방법은 C/C++과 전혀 다름

 

목적

- 클래스, 인터페이스, 부 패키지 이름의 우연한 충돌방지 및 관리 용이성

: 2개의 클래스 혹은 인터페이스가 이름이 서로 같아도 서로 다른 이름의 패키지에 속하면 구분

: name space 부여

 

- 패키지단위 접근권한지정

 

패키지 구성

- 패키지 이름 : 클래스 파일이 있는 폴더 구조

- 클래스 이름 : 실제 자바 api

 

 

 

패키지 구조

JAVA공부하기126

throws의 원리





JAVA공부하기125


throw 예외처리


- throw를 사용해 사용자 임의대로 예외 발생이 가능

: 컴파일러가 인식하지 못하는 예외를 사용자가 새롭게 정의해서 사용 가능


: 새로운 예외 클래스를 만들 때에는 무조건 Exception클래스를 상속 해야함


: 컴파일러가 인식하는 예외를 사용자가 다른 예외클래스로 바꿔 발생시키고자 

  할 때도 사용가능





JAVA공부하기 124

예외처리의 응용


- throw

: 사용자가 에러이벤트를 발생

: 발생된 이벤트는 반드시 catch로 받아야함




- throws

: 예외처리 미루기

: 컴파일러에게 메서드 사용시에 예외가 발생할 수도 있다는 것을 사전에 알림




자바공부하기123


기본적인 예외처리






자바공부하기 122


기본적인 예외처리에대한 기본적인 설면은 자바공부하기 121번째에서 확인가능합니다.^^


기본적인 예외처리의 예


- try block에서 예외 발생

: 발생된 예외클래스의 객체 생성

: catch의 명시된 예외클래스들과 실제 발생된 예외클래스의 객체 형을 비교

: 만일 형이 같은 것이 있으면, 해당 catch block을 실행

: 만일 없다면, 그대로 프로그램 종료

: 예외의 발생유무와 관계없이 finally block은 무조건 실행





자바공부하기 121

예외 처리

- try에서 발생된 예외를 처리하는 것

- catch block에서 처리됨

- Checked Exception

: 컴파일 시에 컴파일러가 처리기 여부를 검사

: 비교적 처리가 용이

 

- RuntimeException

: 발생 전에는 알 수가 없음

: 모든 발생 가능 상황에 대한 처리가 필요

* 따라서 다중 catch block을 사용함

: 비교적 처리가 어려운

 

예외 처리의 필요성

- Checked Exception

: 컴파일 불가

 

- RuntimeException

: 실행 중 예외 발생에 따른 위험

: 프로그램의 신뢰성과 안전성 향상

 

기본적인 예외 처리

- try

: 에러 발생이 가능한 코드가 위치함

 

- catch

: try에서 발생한 에러이벤트를 처리

: 다중 catch사용시에 발생할 예외 클래스의 상속을 고려

 

- finally

: 프로그램 종료 전에 무조건 실행

: java.io패키지와 java.sql패키지에서 자주 사용됨

 

 

 

자바공부하기 120

 

 

실행 시의 예외 예제

 

- 컴파일은 되나 배열의 오류가 발생

: 선언된 배열의 범위를 넘은 요소에 접근

: ArrayIndexOutOfBoundsException 발생

 

 

 

+ Recent posts