본문 바로가기

Java39

자바 equals ex) public static void main(String[] args) { Student s1 = new Student("egoing"); Student s2 = new Student("egoing"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); 이렇게 비교하면 둘다 false가나온다 객체와 객체를 비교해서 그러므로문자열을 비교해야함. class Student{ String name; Student(String name){ this.name = name; } public boolean equals(Object obj) {Student s = obj; //불가능 return true ; }} class ObjectDemo { p.. 2018. 8. 29.
Object클래스 자바에서 상속이란 필수적이다. 상속을 하건 하지 않았건 기복적인 상속을 하게 된다. ex class O {}이것은 아래 코드와 같다 calss O extends Object{}자바에서 모든 클래스는 사실 오브젝트를 암시적으로 상속 받고 있는 것이다. toString->어떠한 객체가 있을때 일종의 문자열로 표시해주는 문자화시키는 것. (객체를 출력시) 2018. 8. 29.
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.