진도 :
10장 예외처리
11장 기본 API 클래스
숙제
1. p.486 10-2 확인 문제 2번 문제 풀고 과정 설명하기
**2.** throws에 대한 설명으로 틀린 것은 무엇인가? (d)
- 생성자나 메소드의 선언 끝 부분에 사용되어 내부에서 발생된 예외를 떠넘긴다.
- throws 뒤에는 떠넘겨야 할 예외를 쉽표(,)로 구분해서 기술한다
- 모든 예외를 떠넘기기 위해 간단하게 throws Exception으로 작성할 수 있다
- 새로운 예외를 발생시키기 위해 사용된다
⇒ throws는 메소드 선언부 끝에 작성되어 메소드에서 처리하지 않은 예외를 호출하는 것으로 떠넘기는 역할을 한다. 새로운 예외를 발생시키기 위한 것이 아니다
2. java.lang 패키지에 속하는 주요 클래스와 용도를 정리해서 포스팅하기
Object 클래스
- 자바 클래스의 최상위 부모 클래스로 사용
- 자바의 모든 클래스를 Object 클래스의 자식이거나 손자 클래스
- 필드가 없고, 생성자와 메소드로 구성됨
- 모든 클래스는 Object 클래스의 메소드를 사용할 수 있음
- Object 클래스의 메소드
- equals(Object obj) : 두 객체 동등 비교 , 비교연산자 ==과 동일
- hashCode() : 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴
- toString() : 객체를 문자열로 표현한 값인 객체의 문자 정보를 리턴
- 객체의 문자 정보는 ‘클래스이름@16진수해시코드’로 구성된 문자열
System 클래스
- 운영 체제의 일부 기능을 이용할 수 있음
- 프로그램 종료
- 표준 입력 장치(키보드)로부터 데이터를 입력받을 때 사용
- 표준 출력 장치(모니터)로 출력하기 위해 사용
- 자바 가상 기계를 종료할 때 사용
- 쓰레기 수집기를 실행 요청할 때 사용
- 현재 시간 읽기
- 모든 필드와 메소드는 정적(static) 필드와 정적 메소드를 구성되어 있음
- System 클래스의 메소드
- exit() : 강제적으로 자바가상기계(JVM) 종료
- currentTimeMills(), nanoTime() : 컴퓨터의 시계로부터 현재 시간을 읽어서 밀리세컨드(1/1000초) 단위의 long 값 리턴
- nanoTime() : 컴퓨터의 시계로부터 현재 시간을 읽어서 나노세컨드(1/10^9초) 단위의 long 값 리턴
Class 클래스
- 클래스를 메모리로 로딩할 때 사용
- 자바 클래스와 인터페이스의 메타 데이터를 관리
- 메타 데이터 : 클래스의 이름, 생성자 정보, 메소드 정보 피드 정보
- Class 클래스의 메소드
- getClass(), forName() : Class 객체 얻기 위한 메소드