String 변수를 생성할때는 두 가지 방법이 있다. 리터럴을 이용한 방식, new 연산자를 이용한 방식. 리터럴을 사용하게 되면 Heap영역의 String Constant Pool에 존재하게 되고, new를 통해 String을 생성하면 Heap영역에 존재하게 된다.
불변 객체 - String, Wrapper Class
Wrapper class 에 해당하는 Integer, Character, Byte, Boolean, Long, Double, Float, Short 클래스는 모두 Immutable이다. 그래서 heap에 있는 같은 오브젝트를 참조하고 있는 경우라도, 새로운 연산이 적용되는 순간 새로운 오브젝트가 heap에 새롭게 할당된다.
String path = "host";
path += ":8080";
