가변 객체
-
[Java] Mutable과 ImmutableJava 2022. 1. 4. 23:25
자바의 객체는 기본적으로 힙 영역에 할당되고 스택 영역에 참조값을 갖는 참조 타입 변수를 통해 데이터에 접근한다. 이러한 객체는 Mutable(가변) 객체와 Immutable(불변) 객체로 나눌 수 있다. Immutable Object 불변 객체는 데이터 변경이 불가능한 객체를 말한다. 단순하게 생각하면 final 키워드처럼 초기화 이후에 값을 변경할 수 없다고 생각할 수 있다. 하지만 불변 객체는 객체의 데이터 수정이 아예 불가능한 것이 아니라 힙 영역에 저장된 값을 수정할 수 없는 것이다. 불변 객체의 종류로는 String, Boolean, Integer, Float, Long, Double 등이 있다. 이는 String을 제외하곤 원시 타입의 래퍼 타입이다. 어 ❔ 저 타입의 객체는 수정할 수 있는..