string 2 [Java] String과 String Pool String 인스턴스 생성 String은 참조 타입 자료형이지만 new 키워드 이외에 리터럴로 생성이 가능합니다. String str1 = "donghwan"; String str2 = new String("donghwan"); Heap과 String Pool 여느 참조 타입 자료구조와 같이 String도 인스턴스를 생성하게 되면 JVM Heap 영역에 메모리를 할당하고 값이 저장됩니다. 하지만 리터럴로 생성하는 경우와 new 키워드를 통해 생성할 때, 차이가 발생하게 됩니다. 리터럴로 String을 생성하게 되면 Heap 영역에 String Pool이라는 곳에 생성되고 new 키워드를 통해 생성하게 되면 Heap에 별도 메모리 영역에 생성됩니다. String a = "aaa"; String b = "a.. Language/Java 2021. 11. 1. [Java] String의 불변성( Immutable ) Java에서 String은 불변(Immutable) 객체라고 불립니다. 불변 객체란 객체가 생성된 후 상태가 변하지 않고 계속 유지되는 객체를 말합니다. String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없습니다. 이제 Java에서 String 왜 불변 객체인지 그리고 그로 인한 장점과 특징이 무엇이 있는지 알아보도록 하겠습니다. 1. String Pool 모든 언어에서 String은 활발하게 사용되는 자료형입니다. 이러한 자료형을 생성하고 삭제하는 것은 많은 자원을 소비하게 됩니다. Java에서는 이러한 현상을 해결하고자 Heap의 String Pool을 활용하여 해결하고 있습니다. String은 참조 타입의 자료형이지만 특이하게도 new 키워드와 리터럴로 모두 생성이 .. Language/Java 2021. 11. 1. 이전 1 다음