메서드에 예외 선언 메서드 선언부에 예외를 선언함으로써 메서드를 사용하려는 사람이 메서드 선언부를 보았을 떄, 어떠한 예외들이 처리되어야 하는지 알려주기 위함 ex : void method() throw Excption1, Excption2, ... ExcptionN{ ... } 또는, thorw Exception // 최고조상인 Exception 클래스를 선언하면 모든 종류의 예외가 발생할 가능성이 있다는 뜻 이와 같이 선언해두면 사용하는 쪽에서 이에 대한 처리를 하도록 강요 예외처리는 예외가 발생하는 메서드에서 예외처리 할 수도있고, 호출하는 메서드에서 처리 할 수도 있다. 또는 두 메서드가 예외처리를 분담 할 수도 있다. import java.io.*; class ExceptionEx{ public..
프로그램 오류 컴파일 에러 컴파일 시에 발생하는 에러 런타임 에러 실행 시에 발생하는 에러 논리적 에러 실행은 되지만, 의도와 다르게 동작하는 에러 에러 (error) - 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 (exception) - 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 Exception클래스들 - 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 RuntimeException클래스들 - 프로그래머의 실수로 발생하는 예외 예외 처리 1. try-catch문 예외처리의 정의 - 프로그램 실행시 발생할 수 있는 예외에 대비한 코드를 작성하는 것 예외처리의 목적 - 프로그램의 비정상 종료를 막고, 정상적인 실행 상태를 유지하는 것 발생한 예외를 처리하지 못하면, 프..
내부 클래스란? 클래스 내에 선언된 클래스이다. 클래스에 다른 클래스를 선언하는 이유는 두 클래스가 긴밀한 관계에 있기 때문이다. 한 클래스를 다른 클래스의 내부 클래스로 선언하면 두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다는 장점을 얻을수있다. class A{ ... class B{ ... } ... } 이때, 내부 클래스인 B는 다른 클래스에서 잘 사용되지 않아야 한다. / 컴파일시에 A$B.class 익명 클래스란? 클래스 선언과 객체의 생성을 동시에 하고 이름이 없는 일회용 클래스 new 조상클래스이름(){ } new 구현인터페이스이름(){ } ex class 클래스명{ Object iv = new Objcet()..
부모 클래스는 하나만 상속 가능 자식 클래스에서 상속 필드 및 메소드외 필드 및 메소드 추가해서 사용 가능 부모는 여러 자식을 가질수 있고, 자식은 하나의 부모만 가지며 부모가 될 수 있다. 부모클래스의 생성자, 초기화 블록은 상속 안됨 ( super() 이용 ) private 멤버는 상속 되지만 직접 접근 불가 super() - 상속의 기본 생성자 super(); / 컴파일시 자동 추가됌 만일, 부모클래스에 기본 생성자가 없다면 직접 넣어야함 super.메소드 - 메소드를 오버라이딩하면 부모 메소드는 숨겨지고 자식 메소드만 사용되기에 일부만 재정의 된다해도 코드를 그대로 써야하는데 super.를 사용하면 부모 메소드 호출 가능 오버라이딩 - 자식 클래스에서 상속받은 메소드를 재정의 하는것 오버라이딩 규..