Java_6_Object클래스, java.lang 패키지
1. Object 클래스 - 실습코드
1. Object 클래스는 모든 클래스의 최상위 클래스이다.
> 아무것도 상속받지 않은 클래스는 자동으로 Object 클래스를 상속받는다
- Object가 가지고 있는 메소드는 모든 클래스에서 사용할 수 있는 메소드이다.
2. Object 클래스의 메소드
> 반드시 오버라이딩해서 사용해야 한다. ( @Override )
메소드 명 |
사용 |
설명 |
equals |
boolean equals(Object obj) |
두 객체가 같은지 비교하여 |
toString |
String toString() |
현재 객체의 문자열을 반환 |
clone |
protected Object clone() |
객체를 복사 |
hashCode |
int hashCode() |
객체의 코드값 반환 |
notify |
void notify() |
wait된 스레드 실행을 |
notifyAll |
void notifyAll() |
wait된 모든 스레드 실행을 |
wait |
void wait() |
스레드를 일시적으로 중지 |
void wait(long timeout) |
주어진 시간만큼 스레드를 |
|
void wait(long timeout, int nanos) |
||
finalize |
protected void finalize() |
가비지 컬렉션 직전, 객체의 |
2. java.lang 패키지 - 실습코드
1. Wrapper Class
> Integer, Double, Character 등
2. 스트링버퍼
> 스트링버퍼에 .append("문자열")을 통해 문자열 입력(누적), .toString()으로 문자열 반환
> StringBuffer가 가지고있는 대부분의 메소드는 자기 자신을 반환한다.
- 자기 자신의 메소드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메소드체이닝 이라고 한다.
- StringBuffer는 메소드 체인 방식으로 사용될 수 있도록 만들어져 있다.
3. String 클래스
> String 클래스 사용시 주의사항
- 문자열을 반복문 안에서 더하는 것은 성능 상 문제가 생길 수 있으니 반드시 피하도록
- 스트링 + 연산을 할 때 마다 내부적으로 new를 통해 String 객체를 만들어 내기 때문임
4. Math 클래스
> 코사인, 사인, 탄젠트, 절대값, 랜덤값 등
> 모든 메소드와 속성이 static으로 되어있음
- 객체 생성 불가
- 객체를 생성하지 않아도 사용 가능