의외로 간단한 인스턴스화 막는 방법: private 생성자를 추가하자!
하나 이상의 자원에 의존하는 클래스가 정적 유틸클래스나 싱글턴으로 구현한 모습을 많이 볼 수 있다. 하지만 이 방식은 유연하지 않고 테스트하기 어렵다.
똑같은 기능의 객체를 매번 생성하기 보다는 객체 하나를 재사용하는게 나은 경우도 많다. 오늘은 Item 6 불필요한 객체 생성을 하는 사례와 피하는 방법에 대해서 알아보자.
자바에서도 메모리 관리를 해줘야한다. 다 쓴 참조 객체는 해제해라!
finalizer와 cleaner ! 이 두가지는 객체 소멸을 제공한다는 공통점이 있다.
전통적으로 자원이 제대로 닫힘을 보장하는 수단으로 try-finally가 쓰였다.
아이템 10 equals는 일반 규약을 지켜 재정의하라.
equals를 재정의한 클래스 모두에서 hashcode도 재정의해야 한다. 그렇지 않으면 hashCode 일반 규약을 어기게 되어 해당 클래스의 인스턴스를 컬렉션의 원소로 사용할 때 문제를 일으킨다
모든 구체 클래스에서 Object의 toString을 재정의하자.