이 글은 엘레강트 오브젝트 새로운 관점에서 바라본 객체지향 도서를 보며 스터디한 글입니다. 책에서 주장하는 내용을 정리하였으며 예제들은 모두 코틀린 코드로 변환하여 작성하였습니다. 목차 불변이란? 식별자 가변성(Identity Mutability) 실패 원자성(Failure Atomicity) 시간적 결합(Temporal Coupling) 부수효과 제거(Side effect-free) NULL 참조 없애기 스레드 안정성 더 작고 더 단순한 객체 주관적인 생각 1. 불변이란? Immutable, 즉 변경할 수 없음을 의미합니다. 예시로 살펴보겠습니다. 가변 객체 먼저 가변 객체는 내부 속성값을 변경이 가능한 객체입니다. // 가변 객체 class Cash( private var dollars: Int ) ..