본문 바로가기

Java/본격 Java 인터페이스

(6)
[Java] throw 예외처리 정해진 예외처리말고 개발자가 직접 exception을 상속받아 예외처리하는 방법도 있다. - 사용하는 메소드의 선언부에 'throws 예외클래스'가 있으면 메소드 사용시 try-catch 안에서 사용해야합니다. . . 예제 import java.util.*; class AgeInputException extends Exception{ //Exception 클래스를 상속 받았음으로 AgeInputException클래스는 예외클래스임 public AgeInputException(){ super("유효하지 않는 나이가 입력되었습니다."); } } class UserDefineException{ public static void main(String[] args) { System.out.print("나이를 입력..
[Java] 자주사용되는 예외 - 자주 발생하는 예외 ArithmeticException : 연산불가(0으로 나누기) ArrayIndexOutOfBoundsException : 배열의 인덱스 범위를 벗어난 예외 ClassCastException : 허용할 수 없는 형변환을 할 경우 발생하는 예외 NegativeArraySizeException : 배열의 크기를 음수로 지정할 때 발생 NullPointerException : 인스턴스가 null인데 사용하는 경우 . . 예제 class RunTimeExceptionCase { public static void main(String[] args) { try{ int[] arr = new int[3]; arr[-1] = 0; }catch (ArrayIndexOutOfBoundsExcepti..
[Java] 예외처리 예외처리(Exception Handling) - 예외(Exception) : 컴파일 오류가 아닌 프로그램 실행시 특정한 상황에서의 문제를 의미합니다. - 예외는 if문을 이용해서 처리할 수 도 있으나 코드가 복잡해지는 단점이 있습니다. 메소드들 중에는 예외처리를 반드시 해야만 사용할 수 있는 메소드도 있습니다. 여기에서의 예외처리는 if문을 이용한 예외처리가 아닌 예외처리 전용 문법을 사용해야 합니다. - 예외도 자바에서는 하나의 클래스로 작업됩니다. - 모든 예외 클래스는 java.lang.Exception클래스를 상속받아 동작합니다. - 문법 try{ 예외가 발생할 것 같은 실행문들; }catch(예외 클래스 - try문에서 발생한 예외){ 발생한 특정 예외에 대한 처리; }catch(다른 예외 클래..
[Java] 인터페이스(interface) 다중 상속 - 인터페이스에서 선언하는 모든 변수는 자동으로 public static final로 선언됩니다. 메소드없이 public static final로 선언되는 값을 위해 인터페이스를 사용하기도 합니다. . . 예제 import java.util.*; interface Week { int MON = 1, TUE = 2, WED = 3, THU = 4, FRI = 5, SAT = 6, SUN = 7; // interface에서 선언한 변수이므로 자동으로 public static final로 지정됨. } class InterfaceConst { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.printl..
[Java] Interface(인터페이스) 인터페이스(interface) - 클래스와 비슷하며 완벽한 abstract클래스가 interface가 될 수 있습니다. abstract클래스 : 모든 메소드가 abstract 메소드인 경우를 이야기합니다. - 인터페이스의 모든 메소드는 반드시 abstarct메소드여야 합니다. - 인터페이스를 문법적으로 이용하면 단일 상속만 가능한 자바에서 다중상속의 효과를 낼 수 있습니다. 인터페이스는 상속(extends)이 아닌 구현(implements)을 통해 작업합니다. implements는 extends와 다르게 여러 인터페이스를 사용할 수도 있습니다. - 인터페이스에서 선언하는 모든 메소드는 자동으로 public abstract로 선언됩니다. 그러므로 오버라이딩시 무조건 public으로 선언해야 합니다. - 인..
[Java] Interface(인터페이스) - abstract class(추상화 클래스) 추상화 클래스(abstract class) - 불완전한 클래스로 완성되지 못한 메소드(abstract method)를 하나 이상 갖고 있는 클래스를 abstract class라고 합니다. - abstract method : 메소드의 선언부만 있고, 정의되지 못한 메소드를 의미합니다. ex) public abstract 리턴타입 메소드명(); -> 몸통(중괄호 부분)이 없습니다. - 사용하는 이유 : 상속의 관계를 형성시키기 위한 상위클래스로 사용됩니다. - 클래스이나 인스턴스를 생성할 수는 없습니다. abstract class를 사용하려면 반드시 상속을 받아야 합니다. - abstract class를 상속받은 클래스는 무조건 abstract class의 abstract method를 오버라이딩해서 구현해..