분류 전체보기

    자바 예외 다중캐치

    같은 로직이지만 상황에 따라서 다른 예외가 발생할 수 있다는 것이다. 이런 경우에 다중캐치를 사용하면 된다. 조건문의 else if처럼 가능하다. Exception e 를 먼저 위에 배치 시키면 오류가 발생할 것이다. 왜냐하면 Exception이 ArrayIndexOutOfBoundsException, ArithemeticException 보다 포괄적인 예외를 의미하기 때문에 Exception 이후에 등장하는 catch 문은 실행될 수 없는 구문이기 때문이다. 자바 컴파일러가 불필요한 로직을 감지하고 이를 개발자에게 알려주는 것이다.

    자바 예외

    위의 코드를 실행 시키면 오류가 뜬다 10을 0으로 나누면 의미가 없어서 자바에서는 에러를 뜨게 한다. at 위쪽에 있을 수록 오류의 진원지이다. 아래에 있을 수록 가장 사용자 쪽에 인접해 있는 것 에러가 발생시킬 수 있다고 예측되는 경우 try{ }로 넣는다. 에러가 발생되면 catch로 간다 try { 예외의 발생이 예상되는 로직 } catch (예외클래스 인스턴스) { 예외가 발생했을 때 실행되는 로직 } 그 다음은 뒷수습이다. 위의 코드 처럼 아래쪽으로 갈 수록 에러에 대해 정보를 더 많이 제공한다. e.getMessage(); 오류에 대한 기본적인 내용을 출력해준다. 상세하지 않다. e.toString() e.toString()을 호출한 결과는 java.lang.ArithmeticExceptio..

    여러가지 느낀 것들

    보호되어 있는 글입니다.

    자바 인터페이스와 다형성

    특정한 인터페이스를 구현하고 있는 클래스가 있을 때 이 클래스의 데이터 타입으로 인터페이스를 지정가능 위의 코드를 통해서 알 수 있는 것은 클래스 C의 데이터 타입으로 인터페이스 I가 될 수 있다는 점이다. 이것은 다중 상속이 지원되는 인터페이스의 특징과 결합해서 상속과는 다른 양상의 효과를 만들어낸다. 클래스가 가지고 있는 모든 기능을 사용해야 된다면 D처럼 데이터 타입을 D로 지정 해 인스턴스화 클래스의 여러가지 기능중에서 특정한 인터페이스의 기능만 사용한다고 한다면 타입을 인터페이스명으로 하면 그 기능에만 집중할 수 있도록 할 수 있다. 비유 사람은 다면적인 존재다 steve라는 사람은 집에서 아버지이고 직업적으로는 프로그래머 또 종교단체 내에서는 신도가 될 수 있다. 하나의 사람이지만 누구와 관계..