개발/Java

[Java] java.lang.Object

hojak99 2015. 11. 3. 16:27

4. java.lang.object와 JAVA의 클래스 지향적 성향


자바 API의 모든 클래스와 사용자가 정의한 모든 클래스의 최상위 클래스이다모든 자바 클래스들은 Object 클래스로부터 상속받는다.

Object 클래스의 모든 메소드와 변수는 다른 모든 클래스에서도 사용 가능할 수 있다

 

멤버 없이 11개의 메소드로 이루어져있다.

 

모든 시행이 가져야 할 기본적인 것들이다.

 

 

 

 

§ void wait()

스레드를 일시적으로 중지할 때 호출한다.

§ void wait(long timeout)

주어진 시간만큼 스레드를 일시적으로 중지할 때 호출한다.

§ void wait(long timeout, int nanos)

주어진 시간만큼 스레드를 일시적으로 중지할 때 호출한다.

 

§ boolean equals(Object obj)

두 개의 객체가 같은지 비교하여 같으면 true같지 않으면 false를 반환한다.

§ String toString()

현재 객체의 문자열을 반환한다.

§ protected Object clone()

객체를 복사한다.

§ protected void finalize()

가비지 컬렉션 직전에 객체의 리소스를 정리할 때 호출한다.

§ Class getClass()

객체의 클래스형을 반환한다.

§ int hashCode()

객체의 코드값을 반환한다.

§ void notify()

: wait된 스레드 실행을 재개할 때 호출한다.

§ void notifyAll()

: wait된 모든 스레드 실행을 재개할 때 호출한다.

 

§ 자바가 왜 객체지향클래스지향적인가?

1. 코드를 작성 할 때 *캡슐화와 데이터 은닉을 통하여 데이터를 보호 하고 값의 무자비한 변환을 막을 수 있다. - 보안의 안정성

2. 다형성과 메소드의 오버로딩을 통하여 적은 노력으로 쉽게 코드를 변경할 수 있다. - 명료성

3. 상속을 통하여 새로운 코드를 작성할 때 기존의 코드를 사용하여 쉽게 작성할 수 있다. - 단순성

 

*캡슐화 은닉의 정도를 접근지정자로 기술하고 해당 영역에 들어가는 속성이나 메소드를 제한하여 기술한다접근지정자에 의해 제한된 멤버들은 컴파일러에 의해 판단된다.

반응형