본문 바로가기
반응형

Effective Java2

[Java] equals 메서드 equals 메서드 재정의에는 함정이 많다! 아래 상황 중 하나에 해당한다면 재정의 하지 않는 것이 최선 각 인스턴스가 본질적으로 고유하다 인스턴스의 논리적 동치성을 검사할 일이 없다 상위 클래스에서 재정의한 equals가 하위 클래스에도 딱 들어맞는다 클래스가 private이거나 package-private이고 equals 메서드를 호출할 일이 없다 equals 메서드는 동치 관계를 구현하며, 다음을 만족한다 반사성(reflexivity) - null이 아닌 모든 참조 값 x에 대해 x.equals(x) 는 true 대칭성(symmetry) - null이 아닌 모든 참조 값 x,y에 대해 x.equals(y)가 true 면 y.equals(x) 도 true 추이성(transitivity) - null이.. 2021. 6. 15.
[이펙티브 자바] Effective Java 3/E 목차 / Java 도서 추천 자바에 좀 더 충실하고자 구매한 Effective Java 두근두근 .. 🥰 목차만 보아도 너무 좋은듯 하여 우선 목차를 포스팅해두고 종종 보려고 남기는 기록 객체 생성과 파괴 생성자 대신 정적 팩터리 메서드를 고려하라 생성자에 매개변수가 많다면 빌더를 고려하라 private 생성자나 열거 타입으로 싱글턴임을 보증하라 인스턴스화를 막으려거든 private 생성자를 사용하라 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 불필요한 객체 생성을 피하라 다 쓴 객체 참조를 해제하라 finalizer와 cleaner 사용을 피하라 try-finally 보다는 try-with-resources 를 사용하라 모든 객체의 공통 메서드 equals는 일반 규약을 지켜 재정의하라 equals를 재정의하려거든 has.. 2021. 4. 7.