본문 바로가기
java

[java] String객체의 불변성, 불변 클래스

by hs_seo 2017. 11. 28.

불변성(Immutability)

  • 객체의 정보가 변하지 않는 것

불변 클래스
  • 인스턴스가 변경되지 않는 클래스
    • String, 박싱된 원시 클래스, BigInteger, BigDecimal
  • 변하는 클래스보다 설계, 구현 및 사용이 용이
  • 메모리 할당
    • String 생성시 JVM에서 상수를 <String 풀> 이라는 메모리 공간에 할당
    • 새로 생성된 String값은 벼경할 수 없고, 이후 동일한 String 이 생성시 String 풀을 참조
    • GC는 String 풀 영역에서는 동작하지 않음


반응형