불변객체1 Java에서 String은 왜 불변일까? Java에서 String은 불변(Immutable) 객체이다. 불변 객체란 무엇일까? 불변 객체란, 객체가 생성된 후 내부의 상태가 변하지 않고 계속 유지되는 객체를 말한다. 즉, 변수에 객체가 한 번 할당되면, 해당 객체의 참조를 변경할 수도, 내부의 상태를 수정할 수도 없는 것이다. Java에서 String 객체는 immutable, 즉 '불변성'이라는 특성을 가지는데, Java 언어를 디자인한 사람들은 왜 그런 선택을 한 것일까? 크게 5가지 이유를 생각해 볼 수 있다. 1. String Pool String이 불변이기 때문에 String Pool도 존재할 수 있다. 어떤 프로그래밍 언어라도 String 타입은 매우 빈번하게 사용된다. 그래서 Java에서는 String Pool이라는 공간에 Stri.. 2020. 7. 21. 이전 1 다음