[Java] 불변 객체, 값 객체
·
Programming/Java
우아한테크코스 레벨 1에서 학습한 내용을 정리한 글입니다. 💭 들어가며블랙잭 미션을 진행하던 중, 배팅 금액처럼 의미가 있는 값을 원시값으로 다루지 말고 Money와 같은 값 객체로 리팩터링해 보라는 리뷰를 받았다. 솔직히 "값 객체"라는 용어는 많이 들어봤지만, "왜 굳이 불변이어야 하지?"라는 의문이 들었고, 해소가 되지 않은 상태에서는 억지로 사용하지 말자고 생각했다. 그러다 이번 미션에서 직접 값 객체를 적용하면서 불변 객체의 장점을 알게 되었고, 이에 대해 좀 더 자세하게 정리해보고자 한다. ✅ 불변 객체불변 객체란 한 번 생성되면 내부 상태가 절대 바뀌지 않는 객체를 말한다. ▶ 불변 객체의 조건객체의 상태를 변경하는 메서드를 제공하지 않는다.클래스를 확장할 수 없도록 한다.모든 필드는 f..