EFFECTIVE_JAVA
clone 재정의는 주의해서 진행해라 - Effective Java[13]
Cloneable은 복제해도 되는 클래스임을 명시하는 용도의 믹스인 인터페이스(mixin interface)지만,
Cloneable은 복제해도 되는 클래스임을 명시하는 용도의 믹스인 인터페이스(mixin interface)지만,
🔗 모든 하위 클래스에서 toString 메소드를 항상 재정의하라.
🔗 equals를 재정의한 클래스 모두에서 hashCode로 재정의해야 한다.
equals 메소드는 기본적으로 최상위 객체인 Object에서 제공하는 메소드로서 재정의를 염두에 두고 설계된 것이다. 때문에 재정의 시 지켜야 하는 일반 규약이 명확이 정의가 되어있다.
자바 라이브러리에는close 메소드를 호출해 직접 닫아줘야 하는 자원이 많다.
자바는 아래와 같이 두 가지 객체 소멸자를 제공한다.
자바는 메모리를 자동으로 관리해주는 가비지 컬렉터를 지원하는 언어이다.
똑같은 기능의 객체를 매번 생성하기보다는 객체 하나를 재사용하는 편이 나을때가 많다.
많은 클래스가 하나 이상의 자원에 의존한다.
객체 지향적으로 사고하지 않는 이들이 종종 남용하는 경우가 있지만, 정적 메서드와 정적필드만을 담은 클래스는 나름의 쓰임새가 있다. 아래의 예시를 보자