🎯 아이템 76. 가능한 한 실패 원자적으로 만들라. 일반화해 이야기하면, 호출된 메서드가 실패하더라도 해당 객체는 메서드 호출 전 상태를 유지해야 한다. 메서드를 실패 원자적으로 만드는 방법 1️⃣ 불변 객체 불변 객체의 상태는 생성 시점에 고정되어 절대 변하지 않기 때문이다. 클래스를 불변으로 만들기 위한 5가지 규칙 1.객체의 상태를 변경하는 메서드(setter)를 제공하지 않는다. 2.클래스를 확장할 수 없도록 한다. 3.모든 필드를 final로 선언한다. 4.모든 필드를 private으로 선언한다. 5.자신 외에는 내부의 가변 컴포넌트에 접근할 수 없도록 한다. 2️⃣ 매개변수의 유효성 검사 객체의 내부 상태를 변경하기 전에 잠재적 예외의 가능성 대부분을 걸러낼 수 있는 방법이다. public ..