본문 바로가기
반응형

전체 글342

자바(Java) - 예외 종류에 따른 처리 코드 예외 종류에 따른 처리 코드 다중 catch 발생하는 예외별로 예외 처리 코드를 다르게 하는 다중 catch 블록을 가질 수 있다. 여러개의 catch블록이 있다 할지라도 단 하나의 catch블록만 실행된다. 그 이유는 try 블록에서 동시 다발적으로 예외가 발생하지 않고, 하나의 예외가 발생하면 즉시 실행을 멈추고 catch 블록으로 이동 하기 때문이다. 예시1) TryCatchFinallyExCatchByExceptionKindEx 10~11라인에서 ArrayIndexOutOfBoundsException이 발생하면, 18라인이 실행되고, 13~14라인에서 NumberFormatException이 발생하면 20라인이 실행 된다. 22라인은 예외 발생 여부와 상관 없이 실행 된다. 예외 떠넘기기 thor.. 2020. 12. 7.
자바(Java) - 예외 처리 프로그램에서 예외가 발생했을 경우 예외 처리를 해야한다. 예외 처리의 목적 프로그램의 갑작스러운 종료를 막는다. 정상 실행을 유지하게 한다. 예외 처리 코드 자바 컴파일러는 일반 예외를 발생시키는 코드를 발견할 경우 예외 처리 코드를 강제적으로 작성하도록 요구한다. 실행 예외는 컴파일러가 체크해주지 않아 개발자의 경험을 바탕으로 예외 처리 코드를 작성해야 한다. 예시1) TryCatchFinallyEx ClassNotFoundException 오류가 발생한다. 이것은 java.lang.String 클래스가 존지 하지 않기 떄문이다. 그래서 예ㅊ외 처리를 해줘야한다. Surround with try/catch 를 누르면 자동으로 예외처리 코드가 생성된다. java.lang.String2 라고 변경해서 넣으.. 2020. 12. 7.
자바(Java) - 예외 클래스 에러(error) -> 컴퓨터 하드웨어 (하드,램,cpu등등) 관련 고장으로 응용 프로그램 실행 오류가 발생 하는 것 예외(exception) -> 그 외 프로그램 자체에서 발생 하는 오류 예외(exception) 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지될 수 있음 예외 발생 가능성이 높은 코드를 컴파일할 때 컴파일러는 예외 처리 유무를 확인한다. 예외와 예외 클래스 1. 일반 예외 (exception) 컴파일러 체크 예외 라고도 한다. 자바 소스 컴파일 과정에서 해당 예외 처리 코드가 있는지 검사한다. 모든 예외 클래스는 java.lang.Exception클래스를 상속 받는다. 2. 실행 예외 (r.. 2020. 12. 2.
자바(Java) - 익명 객체2 (익명 구현 객체 생성) 익명 구현 객체 생성 구현 클래스를 명시적으로 선언하는 이유는 어디서건 이미 선언된 구현 클래스로 간단히 객체를 생성해서 사용할 수 있기 때문이다. --> 재사용성이 높다. 그러나, 구현 클래스가 재사용 되지 않고 특정 위치에서만 사용된다면, 익명 구현 객체를 생성해서 사용하는 것이 좋다. - 필드 선언 시 초기값으로 익명 구현 객체 생성하여 대입하는 경우 - 메소드 내에서 로컬 변수 선언 시 초기값으로 익명 구현 객체를 생성해서 대입 - 매개 변수의 매개값으로 익명 구현객체를 생성하여 대입 예시1) 익명 구현 객체 생성 인터페이스 public interface RemoteCtrl { public void turnOn(); public void turnOff(); } 익명 구현 객체 생성 public c.. 2020. 11. 24.
자바(Java) - 익명 객체1 (익명 자식 객체 생성) 익명(anonymous)객체는 이름이 없는 객체 이다. 어떤 클래스를 상속하거나 인터페이스를 구련해야만 한다. 부모클래스를 상속해서 자식객체를 생성해서 변수에 담는다. -> 익명 자식 객체 (인터페이스는 생성자를 갖지않음) 새로운 객체는 {...} 구현되며 인터페이스 타입에 맞게 변수에 담는다. -> 익명 구현 객체 익명 자식 객체 생성 - 필드 선언할 때 초기값으로 익명 자식 객체를 생성하여 대입 - 메소드 내에서 로컬 변수 선언 시 초기값으로 익명 자식 객체를 생성해서 대입 - 메소드의 매개 변수가 부모 타입일 경우 메소드를 호출하는 코드에서 익명 자식 객체를 생성해서 매개값으로 대입 익명 자식 객체의 멤버 접근 제한 익명 자식 객체에 새롭게 정의된 필드와 메소드는 익명 자식 객체 내부에서만 사용되고.. 2020. 11. 24.
자바(Java) - 중첩 인터페이스 중첩 인터페이스 클래스의 멤버로 선언된 인터페이스 해당 클래스와 긴밀한 관계를 맺는 구현클래스를 만들기 위해서 클래스 내부에서 선언한다. class A{ //중첩 인터페이스 [static] interface I{ void method(); } } 인스턴스 멤버 인터페이스와 정적 멤버 인터페이스 모두 가능하다. 예시1) 중첩 인터페이스 public class Button { //인터페이스 타입 필드 OnClickListener listener; //매개 변수의 다형성 void setOnClickListener(OnClickListener listener) { this.listener = listener; } void click() { listener.onClick(); //ㄱ현 객체의 onClick()메소.. 2020. 11. 23.
728x90
반응형
LIST