본문 바로가기

분류 전체보기433

checked와 unchecked class ArithmeticException부모중에 RuntimeException이 있는 예외는unchecked이라고 한다.try나 throws로 처리하지 않아도된다. 부모중에 RuntimeException이 없는 예외는checked 예외라고 한다.이경우 예외처리를 할수있는 !반드시 try catch나 throws! 를 사용해야한다 2018. 8. 28.
Exception을 직접 발생시키는 방법 if(right==0){ throw new ArithmeticException("0으로 나눌 수 없습니다.");} try{ ...}catch(Exception e){...} } 즉,illegalArgumentException :사용해야 할 상황: 매개변수가 의도하지 않은 상황을 유발시킬 때illegalStateException :메소드를 호출하기 위한 상태가 아닐 때NullPointerException : 매개 변수 값이 null일때IndexOutOfBoundsException : 인덱스 매개 변수 값이 범위를 벗어날 때ArithmeticException : 산술적인 연산에 오류가 있을때 사용한다 2018. 8. 28.
예외처리 finally finally는 try catch와는 무관하게 언제나 실행되는 규칙이다.ex) try{예외의 발생이 예상되는 로직} catch(예외클래스 인스터턴스){예외가 발생했을 때 실행되는 로직}finally{예외여부와 관계없이 실행되는 로직} 2018. 8. 21.
JAVA - 다형성 (polymorphism) 다형성 ( polymorphism ) -키보드를 예로 들었을 때 , 키보는 " 누른다 " 라는 것은 똑같지만 어떤 키를 누르냐에 따라 다르게 동작한다 . 이렇게 자바에서는 하나의 메소드 OR 클래스가 다양한 벙법으로 동작하는것을 의미한다. 메소드의 다형성같은이름 다른 동작방법(다른 매개변수) = 오버로딩 부모클래스 행세를 하는 예 ) ex) A obj = new B () ;->부모행세(A) 를 하고 있는 obj 는 자식 class B를 인스턴스화 시키고있다여기서, 중요한것은 부모클래스 (A)와 자식 클래스 (B)에서 동일한 이름의 메소드가 있다고 가정할때,main클래스에서 호출되는 값은 B에 있는 값(오버라이딩) 한 값이 무조건 호출이 된다.또한 , A(부모)클래스에서 선언되지 않는 메소드는 호출할 수 .. 2018. 8. 17.
abstract(추상 클래스)와 interface의 차이점 두개는 서로 밀접하지만 약간 다름 abstract 클래스는 일반적인 메소드와 다를바없음 앱스트랙트이기때문에 앱스트랙트 메소드를 하위클래스가 상속받아서 사용하도록 강제한다. 앱스트랙스 메소드는 하위클래스에서 오버라이딩 하도록 기대하는 비어있는 내용의 앱스트랙트 메소드가 있지만동시에 실제 구체적인 로직을 가지고있는 메소드나 필드가 존재할수있는것이 앱스트랙스 클래스이다. ◆하나 이상의 추상 method 를 포함하고 있는 클래스 ◆추상 메소드 + 일반 메스도 생 성 불 가 . ---> "상속"받은 후 추상메소드를 "정의"한 후에 생성이 가능해진다. ◆혼자서는 생성이 불가능 하나, 상속받음으로써 생성이 가능해 진다. Main Class public class mainClass { public static void.. 2018. 8. 17.
자바 인터페이스(interface) -interface란 abstract와 final과 함께 대표적인 규제이다.-인터페이스의 역할은 어떠한 A라는 클래스가 있고 그 A 클래스가 특정한 인터페이스 ( I ) 를 사용한다면 그 클래스(A)는 반드시 사용하는 인터페이스( I )의 메소드를 구현해만 사용할 수 있다.-한개의 class가 여러개의 interface를 구현할 수 있다.-반드시 접근 제어자는 public이어야만 한다.-interface도 상속이 가능하다. ex) interface A { //인터페이스 A 선언public void a();} interface B extends A { //인터페이스 B 선언과 동시에 인터페이스A를 상속받음 public void b(); } class C implements.. 2018. 8. 17.