일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- throwable
- 자바스터디
- junit 5
- raw 타입
- 정렬
- 제네릭 타입
- Study Halle
- 바운디드 타입
- annotation processor
- 람다식
- 상속
- 접근지시자
- github api
- auto.create.topics.enable
- 브릿지 메소드
- 프리미티브 타입
- Switch Expressions
- 스파르타코딩클럽
- 합병 정렬
- 항해99
- 제네릭 와일드 카드
- System.err
- yield
- 로컬 클래스
- System.out
- docker
- System.in
- 자바할래
- 익명 클래스
- 함수형 인터페이스
- Today
- Total
목록분류 전체보기 (253)
코딩하는 털보
이펙티브 자바, 아이템 14. Comparable을 구현할지 고려하라 Comparable 인터페이스의 compareTo를 구현하여 사용하는 것을 고려해 볼 수 있다. compareTo 메서드는 Object의 equals와 두 가지 차이가 있다. 단순 동치성 비교에 더해 순서까지 비교할 수 있다. Comparable을 구현했다는 것은 인스턴스들에 자연적인 순서가 있음을 뜻한다. 알파벳, 숫자, 연대 처럼 순서가 명확한 값 클래스를 작성한다면 반드시 Comparable 인터페이스를 구현하자. compareTo 규약을 지키지 못하면 비교를 활용하는 클래스와 어울리지 못한다. (ex. TreeSet, TreeMap 또는 Collections와 Arrays의 정렬) compareTo 메서드로 수행하는 동치성 검사..
이펙티브 자바, 아이템 12. toString을 항상 재정의하라 https://rockintuna.tistory.com/170?category=886433 이펙티브 자바, 아이템 12. toString을 항상 재정의하라 이펙티브 자바, 아이템 12. toString을 항상 재정의하라 toString의 일반 규약, 간결하면서 사람이 읽기 쉬운 형태의 유익한 정보, 모든 하위 클래스에서 이 메서드를 재정의하라. Object의 기본 toString rockintuna.tistory.com 이펙티브 자바, 아이템 13. clone 재정의는 주의해서 진행하라 https://rockintuna.tistory.com/171 이펙티브 자바, 아이템 13. clone 재정의는 주의해서 진행하라 이펙티브 자바, 아이템 1..
이펙티브 자바, 아이템 13. clone 재정의는 주의해서 진행하라 Java 제공 인터페이스 Cloneable는 아무 메서드도 가지고 있지 않지만 이 인터페이스를 구현하는 인스턴스에서는 Object의 clone 메서드의 동작이 바뀐다. Cloneable을 구현한 인스턴스에서 clone 메서드를 호출하게 되면, 해당 객체를 복사한 객체를 반환하게 된다. Object의 clone 메서드는 protected이기 때문에 외부 객체에서 사용하려면 재정의가 필요하다. Object clone()은 Object 타입을 반환하기 때문에 공변 반환 타입을 통해서 Object 대신 재정의하는 클래스 타입으로 캐스팅하여 반환하도록 재정의하는게 좋다. 공변 반환 타입 : 재정의한 메서드의 반환 타입은 상위 클래스의 메서드가 반..
이펙티브 자바, 아이템 12. toString을 항상 재정의하라 toString의 일반 규약, 간결하면서 사람이 읽기 쉬운 형태의 유익한 정보, 모든 하위 클래스에서 이 메서드를 재정의하라. Object의 기본 toString은 클래스이름@16진수해시코드를 반환하며, 그다지 쓸모 없는 메시지를 출력하게 된다. toString을 잘 구현한 클래스는 사용하기에 훨씬 즐겁고, 그 클래스를 사용한 시스템은 디버깅하기 쉽다. toString은 우리가 직접 호출하지 않아도 다른 어딘가에서 쓰일 수 있다. 실전에서 toString은 그 객체가 가진 주요 정보를 모두 반환하는 게 좋다. PhoneNumber에서 지역 번호만 toString에 담았다고 가정한다. @Override public String toString..
이펙티브 자바, 아이템 11. equals를 재정의 하려거든 hashCode도 재정의하라 https://rockintuna.tistory.com/168 이펙티브 자바, 아이템 11. equals를 재정의 하려거든 hashCode도 재정의하라 이펙티브 자바, 아이템 11. equals를 재정의 하려거든 hashCode도 재정의하라 equals를 재정의한 클래스 모두에서 hashCode도 재정의해야 한다. 그렇지 않으면 hashCode 일반 규약을 어기게 되어 HashMap 또는 rockintuna.tistory.com
이펙티브 자바, 아이템 11. equals를 재정의 하려거든 hashCode도 재정의하라 equals를 재정의한 클래스 모두에서 hashCode도 재정의해야 한다. 그렇지 않으면 hashCode 일반 규약을 어기게 되어 HashMap 또는 HashSet 같은 컬렉션의 원소로 사용할 때 문제가 발생한다. hashCode 규약 equals 비교에 사용되는 정보가 변경되지 않았다면, 애플리케이션이 실행되는 동안 그 객체의 hashCode 메서드는 몇 번을 호출해도 일관되게 항상 같은 값을 반환해야 한다. equals가 두 객체를 같다고 판단했다면, 두 객체의 hashCode는 똑같은 값을 반환해야 한다. equals가 두 객체를 다르다고 판단했다면, 두 객체의 hashCode는 다르게 반환해야 해시 테이블의 ..
헤드 퍼스트 디자인 패턴 2. 옵저버 패턴 https://rockintuna.tistory.com/166 디자인 패턴 2. 옵저버 패턴 코딩하는 털보 디자인 패턴 2. 옵저버 패턴 본문 Prev 1 2 3 4 5 ··· 146 Next rockintuna.tistory.com
디자인 패턴 2. 옵저버 패턴 옵저버 패턴을 정기 신문 구독으로 예를 들어 설명해줬다. 신문출판사 : 주제(subject) 객체, 구독자 : 옵저버 주제 객체에서 일부 데이터를 관리하며 데이터가 달라지면 옵저버에 새로운 데이터 값이 전달된다. 옵저버 객체들은 주제를 구독하고(주제 객체에 등록되어)있으며 주제의 데이터가 바뀌면 갱신 내용을 전달받는다. 옵저버 패턴 옵저버 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의합니다. 일대다 관계 옵저버 패턴에서는 일련의 객체들(주제와 옵저버) 사이에서 일대다 관계를 정의한다. 옵저버 패턴은 대부분 주제 인터페이스와 옵저버 인터페이스가 들어있는 클래스 ..
디자인 패턴 1. 디자인 패턴 소개 / 스트래티지 패턴 https://rockintuna.tistory.com/142?category=886435