일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Public
- 프로그래밍
- 세마포어
- IT
- 운영체제
- 스프링
- 깃허브
- 컴퓨터공학
- 디지털
- 컴퓨터과학
- 공채
- java
- 메모리
- CS
- 깃
- spring
- 스터디
- 개발
- 자바
- 신입사원
- 이펙티브 자바
- Effective Java
- 뮤텍스
- github
- 정보처리기사
- 우리카드
- 신입
- 알고리즘
- package-private
- OS
Archives
- Today
- Total
목록computer science (1)
주니어 개발자 성장기
아이템 10. equals는 일반 규약을 지켜 재정의하라
3장 Object는 객체를 만들 수 있는 구체 클래스지만 기본적으로는 상속해서 사용하도록 설계되었다. Object에서 final이 아닌 메서드(equals, hashCode, toString, clone, finalize)는 모두 재정의(overriding)를 염두에 두고 설계된 것이라 재정의 시 지켜야 하는 일반 규약이 명확히 정의되어 있다. 일반 규약에 맞게 해당 메소드를 overriding 해야 일반 규약을 활용하는 클래스들(HashMap, HashSet)이 오동작하지 않게 된다. finalize는 이전 장에서 다루었으므로 더이상 언급하지 않는다. 개요equals 메서드는 overriding하기 쉬워 보이지만 곳곳에 함정이 있으므로 필요하지 않은 경우 overriding하지 않는 것이 최선이다. 그..
Java/이펙티브 자바
2023. 7. 28. 20:16