본문 바로가기

IT/Java

2013.01.10. Java 상속, 예외처리



2013.01.10. Java 상속, 예외처리


상속 (Inheritance)

- 기존의 클래스에서 신분(클래스)과 자원(변수, 메서드)를 받아 확장, 새로운 클래스를 만드는 것.

- 부모를 상속한 클래스에서 객체를 생성할 경우 부모 클래스가 먼저 호출된다. 곧, 부모 클래스의 default생성자가 먼저 호출된다.

(클래스는 언제 부모 클래스로 지정될 지 모르므로 언제나 default생성자를 만들어두는 것이 좋다.)


※ super함수 : 부모 클래스의 생성자를 호출해서 멤버 변수를 초기화하기 위한 호출 구문

super함수를 통한 부모 클래스 생성자 호출의 예)

 Account(String accountNo, String ownerName, int balance) {

      this.accountNo = accountNo;

      this.ownerName = ownerName;                              →

      this.balance = balance;

 }

 Account(String accountNo, String ownerName,

                int balance, String cardNum) {

      super(accountNo, ownerName, banalce);

      this.cardNum = cardNum;

 }


예외처리 (Exception Handling)

- Java에선 프로그램상의 오류를 에러(Error)와 예외(Exception)으로 나눔. 이중 예외는 프로그램의 강제종료를 야기하진 않음.

- 예외가 발생 가능한 상황을 파악하여 예외처리를 철저히 한다면 더욱 안정감 있는 시스템을 구축할 수 있음.

- try { … } catch { … } ( + finally { … })가 기본적인 패턴. try블록에서 예외가 발생했을 경우 catch블록에서 처리하는 구조.

  finally블록 내의 코드는 예외가 발생하든 발생하지 않든 수행하게 되는 부분. DataBase나 File간의 ioStream을 사용할 경우 필수.


throws예약어와 throw명령어

- throws예약어는 해당 클래스에서 예외가 발생했을 경우 해당 클래스를 호출한 상위 클래스로 예외를 넘기는 역할을 수행함.

- throw는 사용자에 의한 강제 예외를 발생시킴. String문자열을 인수로 넘겨 에러메시지로 활용 가능하며, catch구문에서 해결.