가 변 적 이지 않 은 대상 (immutable object) 은 무엇 입 니까?자바 에서 어떻게 변 하지 않 는 대상 을 만 듭 니까?

1411 단어 자바 배경
개념
가 변 적 이지 않 은 대상 은 대상 이 만 들 어 졌 을 때 상 태 를 바 꿀 수 없다 는 것 을 말한다.모든 변경 사항 은 String, Integer 및 기타 포장 류 와 같은 새로운 대상 을 만 듭 니 다.자세 한 내용 은 답 을 참고 하여 자바 에서 가 변 적 이지 않 은 종 류 를 만 드 는 것 을 한 걸음 한 걸음 지도 합 니 다.
2. 불가 변 류 를 만 드 는 규칙 은 다음 과 같 습 니 다.
1. State of immutable object can not be modified after construction, any modification should result in new immutable object.
2. All fields of Immutable class should be final.
3. Object must be properly constructed i.e. object reference must not leak during construction process.
4. Object should be final in order to restrict sub-class for altering immutability of parent class.
3. 예:
public final class Contacts {

	private final String name;
	private final String mobile;
	
	public Contacts(String name, String mobile) {
		this.name = name;
		this.mobile = mobile;
	}

	public String getName() {
		return name;
	}

	public String getMobile() {
		return mobile;
	}
}
public final class ImmutableReminder {

	private final Date remindingDate;
	
	public ImmutableReminder(Date remindingDate) {
		if (remindingDate.getTime() < System.currentTimeMillis()) {
			throw new IllegalArgumentException("Can not set reminder for past time: " + remindingDate);
		}
		this.remindingDate = new Date(remindingDate.getTime());
	}

	public Date getRemindingDate() {
		return (Date) remindingDate.clone();
	}
}

좋은 웹페이지 즐겨찾기