목록Java/JAVA2 (37)
충분히 쌓여가는
toString() 객체를 문자열(String)으로 변환하기 위한 메서드 getClass(): 설계도 객체 getName(): 클래스 이름 "@": at이라고 하고, 위치를 의미함 Interger.toHexString: 16진 hashCode(): 객체 주소 public String toString() { // Object 클래스의 toString() return getClass().getName()+"@"+Interger.toHexString(hashCode()); } Card@7c75222b 클래스 이름: Card 주소값: 7c75222b class Card { String kind ; // 카드의 무늬 - 인스턴스 변수 int number; // 카드의 숫자 - 인스턴스 변수 Card() { thi..
hashCode() 객체의 해쉬코드(hash code)를 반환하는 메서드 Object 클래스의 hashCode()는 객체의 주소를 int로 변환해서 반환 native 메서드: OS가 가지고 있는 메서드 내용이 없는 이유는 native 메서드가 이미 작성되어 있기 때문 public class Object { ... public native int hashCoe(); // 내용이 없다 equals()를 오버라이딩하면, hashCode()도 오버라이딩해야한다 equals()의 결과가 true인 두 객체의 해시코드는 같아야 하기 때문 String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str..
연결된 예외(chained exception) 한 예외가 다른 예외를 발생시킬 수 있다 예외 A가 예외 B를 발생시키면 A는 B의 원인예외(cause exception)이다 Throwable 링크 : Exception과 Error의 조상 Throwable initCause(Throwable cause) 지정한 예외를 원인 예외로 등록 Throwable getCause() 원인 예외를 반환 하나의 예외 안에 또다른 예외를 포함시킨다 public class Throwable implements Serializable { ... private Throwable cause = this; // 객체 자신(this)를 원인 예외로 등록 ... public synchronized Throwable initCause(..
사용자 정의 예외 만들기 우리가 직접 예외 클래스를 정의할 수 있다 상속을 통해 만든다 1. 조상은 Exception과 RuntimeException 중에서 선택 2. String 매개변수가 있는 생성자를 넣어준다 Exception: 사용자가 발생시키는 예외, 필수처리(try-catch 필수) RuntimeException: 프로그래머의 실수로 발생시키는 예외, 선택처리(try-catch 선택) class MyException extends Exception { MyException(String msg) { // 문자열을 매개변수를 받는 생성자 super(msg); // 조상인 Exception 클래스의 생성자를 호출한다, Exception(String msg) 호출 } } 코드 Exception을 상속..