본문 바로가기

JAVA/#혼공단3기

[혼공자] 3주차 - 혼공 용어 노트 활용

3주차 미션은 10장 예외처리와 11장 기본API 클래스에 대해 공부한고, 별책으로 제공하는 있는 혼공 용어노트를 활용하고 이를 인증 샷으로 남기는 것이다.

 

우선 혼공 용어노트는  별책으로 제공되고, 한빛미디어에서 운영하는 혼공 학습단 사이트에서도 다운받을 수 있다.

http://hongong.hanbit.co.kr/%ec%9e%90%eb%b0%94/

 

10장 예외 처리에서 나온 용어

  • 예외(Exception) - 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류
  • 예외 처리 (Excpetion Handling) - 예외가 발생했을 때 이를 처리하는 과정
    • 일반 예외(Exception) : 컴파일러 체크 예외, 예외 처리코드가 없다면 컴파일러 오류가 발생
    • 실행 예외(Runtime Exception) : 실행 시 예측할 수 없이 발생하는 오류로 컴파일하는 과정에서 예외 처리 코드가 있는지 검사하지 않는 예외.

대표 적인 실행 예외

  • NullPointerException - 참조하는 객체가 없을 때 발생, 가장 빈번하게 발생하는 실행 예외임
  • ArrayIndexOutOfBoundsException - 배열에서 인덱스 범위를 초과할 경우 실행 예외 발생
  • NumberFormatException - 문자열로 되어 있는 데이터를 숫자로 변경하는 경우 실행 예외 발생
  • ClassCastException - 타입 변환을 할 수 없기 때문에 발생하는 실행 예외
    타입 변환은 상위 클래스와 하위 클래스간 발생하고 구현 클래스와 인터페이스 간에도 발생함, 이러한 관계가 아닌경우 예외 발생

11장 기본 API 클래스에서 나온 용어

  • API(Application Programming Interface) - 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음. 라이브러리(library)라고도 부름

java.lang 패키지 주요 클래스

  • Object - 자바의 모든 클래스들의 최상위 부모 클래스
  • System - 운영체제의 일부 기능을 사용, 주로 표준 입, 출력과 프로그램 종료 등에 사용
  • Class - 클래스와 인터페이스의 메타데이터를 관리
  • Wrapper(포장) Class - 기본 타입(byte, char, short, int, long, float, double, boolean)의 값을 갖는 생성된 객체
기본 타입 포장 클래스
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double
boolean Boolean

java.util 패키지 주요 클래스

  • Date - 날짜를 표현하는 클래스
// 현재 시각의 Date객체
Date now = new Date();

// 날짜 형식의 문자열을 얻고 싶다면 java.text 패키지의 SimpleDateFormat 클래스 사용
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초");

String strNoew = sdf.format(now);
  • Calendar - 달력을 표현하는 클래스, 추상 클래스이므로 new 연산자를 사용해서 인스턴스를 생성할 수 없다.
Calendar now = Calendar.getInstance();

int year = now.get(Calendar.YEAR);	//연도
int month = now.get(Calendar.MONTH) + 1;	//월
int day = now.get(Calendar.DAY_OF_MONTH);	//일
int week = now.get(Calendar.DAY_OF_WEEK);	//요일
int amPm = now.get(Calendar.AM_PM);	//오전/오후
int hour = now.get(Calendar.HOUR);	//시
int minute = now.get(Calendar.MINUTE);	//분
int second = now.get(Calendar.SECOND);	//초