목록Java (181)
충분히 쌓여가는
String 클래스 문자열을 다루기 위한 클래스 String 클래스 = 데이터(char[]) + 메서드(문자열 관련) 내용을 변경할 수 없는 불변(immutable) 클래스 덧셈 연산자(+)를 이용한 문자열 결합은 성능이 떨어짐 문자열의 결합이나 변경이 잦다면, 내용을 변경가능한 StringBuffer를 사용 String a = "a"; String b = "b"; a = a + b; 문자열 비교 String str = "abc"와 String str = new String("abc");의 비교 String str1 = "abc"; // 문자열 리터럴 "abc"의 주소가 str1에 저장됨 String str2 = "abc"; // 문자열 리터럴 "abc"의 주소가 str2에 저장됨 String str3 ..
Object 클래스 모든 클래스의 최고 조상 오직 11개의 메서드만을 가지고 있다 notify(), wait()등은 쓰레드와 관련된 메서드 protected로 되어있는 것들은 오버라이딩 후 public으로 변경해야한다 Object 클래스의 메서드 설명 protected Object clone() 객체 자신의 복사본을 반환한다 public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다(같으면 true) protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출된다 이때 수행되어야 하는 코드가 있을 때 오버라이딩한다(거의 사용 안함) public Class getClass() 객체 자신의 클래스 정보를 담고 있는 ..
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..