반응형
[Effective Java] Chap 3. 모든 객체에 공통적인 메소드. |
Object 는 실체 클래스( concrete class ) 지만 원래 상속을 목적으로 설계되었다.
equals, hashCode, toString, clone, finalize 는 다른 모든 자바 클래스에서 전체적으로 준수해야 하는 보편적 계약을 내포하고 있다.
Object 의 모든 서브 클래스에서 그메소드들을 오버라이드 하도록 설계되었기 때문이다.
-
어떤 클래스에서 보편적 계약 준수에 실패하면 그 계약에 준하는
HashMap 이나 HashSet, ArrayList 등과 같은 다른 클래스들과 함께 사용할 때
올바르게 동작하지 않는다.
반응형
'프로그래밍 놀이터 > 디자인 패턴, 리펙토링' 카테고리의 다른 글
[Effective Java] 쓸모 없는 객체 참조를 제거하자. (0) | 2016.01.04 |
---|---|
[Effective Java] equals 메소드를 오버라이딩 할 때는 보편적 계약을 따르자. (0) | 2015.12.31 |
[Effective Java] 파이날라이저 ( finalizer ) 의 사용을 피하자. (0) | 2015.12.15 |
[Effective Java] 불필요한 객체의 생성을 피하자. (0) | 2015.04.30 |
[Effective Java] private 생성자를 사용해서 인스턴스 생성을 못하게 하자. (0) | 2015.04.05 |
댓글