일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디알고리즘
- 정렬
- 피보나치
- mybatis
- Effective Java
- 탐욕법
- 알고리즘
- Greedy
- Spring
- 데이터베이스
- Database
- 너비우선탐색
- 프로그래머스
- 우선순위큐
- springboot
- 깊이우선탐색
- DFS
- IntelliJ
- 다이나믹프로그래밍
- mariaDB
- BFS
- SQL
- java
- DP
- join
- db
- 코테
- select
- 백준
- 이펙티브자바
- Today
- Total
목록이펙티브자바 (24)
땀두 블로그

이펙티브 자바 3판을 읽으면서 내용을 정리하는 포스트입니다. 혹시 틀린 부분이나 잘 못 설명한 부분이 있으면 댓글로 남겨주시면 수정하도록 하겠습니다. Item 14. Comparable을 구현할지 고려하라 객체에서 정렬이 필요할 때 Comparator, Comparable 인터페이스를 많이 사용한다. Comparable: 인터페이스를 구현한 객체 스스로에게 부여하는 한 가지 기본 정렬 규칙을 설정 Comparator: 인터페이스를 구현한 클래스는 정렬 규칙 그 자체. 기본 정렬 규칙과는 다르게 사용자가 원하는대로 정렬 순서를 지정 Comparable 인터페이스는 compareTo라는 메소드를 정의하는데, 이 메소드는 Object 메소드가 아니다. 성격은 Object의 equals와 유사한데, 동치성 비교..

이펙티브 자바 3판을 읽으면서 내용을 정리하는 포스트입니다. 혹시 틀린 부분이나 잘 못 설명한 부분이 있으면 댓글로 남겨주시면 수정하도록 하겠습니다. Item 13. clone 재정의는 주의해서 진행하라 Cloneable 복제해도 되는 클래스임을 명시하는 믹스인 인터페이스(mixin interface) 객체를 복사하고싶다면 Cloneable 인터페이스를 구현해 clone 메소드를 재정의하는 방법이 일반적이지만, clone 메소드는 Cloneable이 아니라 Object에 선언되어 있고, protected 접근제어자로 되어 있어 같은 패키지가 아니면 접근할 수 없다. 따라서 Cloneable 인터페이스를 구현하는 것 만으로는 clone 메소드 호출이 안된다. Cloneable의 역할 Object 클래스의 ..

이펙티브 자바 3판을 읽으면서 내용을 정리하는 포스트입니다. 혹시 틀린 부분이나 잘 못 설명한 부분이 있으면 댓글로 남겨주시면 수정하도록 하겠습니다. Item 12. toString을 항상 재정의하라. toString 메소드의 일반 규약은 간결하면서 사람이 읽기 쉬운 형태의 유익한 정보를 반환해야 한다. 하지만 우리가 확인 가능한 것은 클래스이름과 16진수로 표현된 해시코드 뿐이다. 우리는 toString을 재정의하여 디버깅 및 정보 가시성을 높여야 한다. toString을 재정의 할 때는 객체 스스로를 완벽히 설명하는 문자열이어야 하고, 객체가 가진 주요 정보를 모두 반환하는 것이 좋다. 포맷이 정해져 있는 경우, 재정의하고 주석을 달아서 문서화를 해주면 더욱 정보를 보기 쉽다. /** * 이 전화번호..

이펙티브 자바 3판을 읽으면서 내용을 정리하는 포스트입니다. 혹시 틀린 부분이나 잘 못 설명한 부분이 있으면 댓글로 남겨주시면 수정하도록 하겠습니다. Item 11. equals를 재정의 하려거든 hashCode도 재정의하라 equals : 두 객체의 내용이 같은지, 동등성(equality)를 비교하는 메소드 hashCode : 두 객체가 같은 객체인지, 동일성(identity)를 비교하는 메소드 Object 명세에서 발췌한 HashCode 규약 애플리케이션이 유지되는 동안 equals비교에 사용되는 정보가 변경되지 않았다면, 몇 번을 호출하더라도 일관된 값을 반환해야 한다. equals(Object)가 동일하다고 판단되면 두 객체의 hashCode는 동일한 값을 반환해야 한다. equals(Object..

이펙티브 자바 3판을 읽으면서 내용을 정리하는 포스트입니다. 혹시 틀린 부분이나 잘 못 설명한 부분이 있으면 댓글로 남겨주시면 수정하도록 하겠습니다. Item 10. equals는 일반 규약을 지켜 재정의하라 equals 메소드는 일부 다른 개체가 이 개체와 "동일한"지 여부를 나타내는 메소드이다. https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html equals 메소드는 재정의하기 쉬워보이지만 종종 발생하는 문제점이 있다. equals를 재정의하면 안되는 경우 각 인스턴스가 본질적으로 고유할 경우 Thread와 같이 값을 표현하는 게 아닌 동작하는 개체를 표현하는 클래스일 경우 인스턴스의 논리적 동치성을 검사할 일이 없을 경우 논리적 동치(L..