일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- System.in
- 상속
- 프리미티브 타입
- 접근지시자
- 스파르타코딩클럽
- System.err
- 항해99
- 정렬
- Java
- public 필드
- junit 5
- 람다식
- 로컬 클래스
- auto.create.topics.enable
- annotation processor
- 함수형 인터페이스
- raw 타입
- 합병 정렬
- github api
- 브릿지 메소드
- 익명 클래스
- 자바스터디
- System.out
- 제네릭 타입
- Study Halle
- 바운디드 타입
- 제네릭 와일드 카드
- 자바할래
- Switch Expressions
- Effective JAVA
Archives
- Today
- Total
목록2025/04/05 (1)
코딩하는 털보
ITEM 17 불변 객체
package me.rockintuna.effectivejava.item;import java.math.BigInteger;/*변경 가능성을 최소화하라 */public final class Item17 { /* 불변 객체 : 생성된 시점부터 파괴될 때 까지 상태가 변경되지 않는 객체 클래스를 불변으로 만들기 1. setter가 없어야함 2. 클래스를 확장할 수 없어야함 (대표적으로 final 클래스) 3. 모든 필드를 private final로 선언 4. 가변 객체를 참조하는 필드가 있다면 해당 필드를 사용하는 생성자, getter, readObject 메서드에서 방어적 복사를 한다. 불변으로 만들 수 없다면 변경할 수 있는 부분을 최소화하자 - 별다른 ..
Book/이펙티브 자바
2025. 4. 5. 23:45