Object 클래스
Object클래스
- 모든 클래스의 최고 조상 오직 11개의 메서드만 가지고있다
- notify(),wait()등은 쓰레드와 관련된메서드
- 오버라이딩하려면 protected 를 public으로 변경해서사용하자
protected Object clone() 객체 자신의 본사본 반환
public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다 (같으면 true)
- 객체비교 블리언값임
protected void finalize() (거의 사용안함))
public Class getClass() 객체 자신의 클래스 정보를 담고있는 Class인스턴스를 반환한다
- 설계도 객체
public String toString() 객체 자신의 정보를 문자열로 반환한다
public void notify() 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨운다
public void notifyAll() 객체 자신을 사용하려고 기다리는 모든 쓰레드를 깨운다
public void wait() public void wait(long timeout) public void wait(long timeout,int nanos)
String Class
- 문자열을 다루기위한 클라스
- String 클래스 = 데이터(char[]문자배열) + 메서드(문자열 관련)
- 내용을 변경할수없는 불면 (immutable) 클래스
- +연산자를 이용한 문자열 결합은 성능이 떨어짐
- 문자의 결합 변경이잦다면 내용이변경가능한 StringBuffer를 사용
문자열의비교
- String str = “abc” 과 String str = new String(“abc”); 의 비교
-
리터럴이란 변수에 넣는 변하지 않는 기본 원본 데이터를 의미
String str1 = "abc"; // 문자열 리터럴 "abc" 의 주소가 str1에 저장 0x100 String str2 = "abc"; // 위와동일 0x100 String str1 = new String("abc");// 새로운 String인스턴스생성 0x200 String str2 = new String("abc");// 또다른 String인스턴스생성 0x300 == // 주소 비교 eqauls() // 내용 값 비교
빈 문자열(““,empty string)
-
내용이없는 문자열 , 크기가 0 인 char형 배열을 저장하는 문자열
String str = ""; // str을 빈 문자열로 초기화
-
크기가 0인 배열을 생성하는 것은 어느타입이나 가능
char[] chArr = new char[0]; //길이가 0인 char 배열 int[] iArr = {}; // 길이(크기)가 0인 int 배열
-
문자(char) 와 문자열(String)의 초기화
String s = " " ; / 빈 문자열로 초기화 char c = ' '; / 공백으로 초기화 String = str1 = ""; // 0x100 String = str2 = ""; // 0x100 String = str3 = ""; // 0x100
String클래스의 생성자와 메서드
참조형(객체) 인지 기본형인지 (원본)
ch9-15~18 StringBuffer클래스 까지 보다가 11강 프레임웍으로 건너뜀
Leave a comment