Immutable(불변성), StringBuffer와 StringBuilder
·
💻 Dev/Java & OOP
String str = "Hello";System.out.println("String 객체의 주소 : "+str.hashCode());str = str + " World";System.out.println("String 객체의 주소 : "+str.hashCode()); 리터럴로 선언한 문자열 객체의 주소를 출력하고, 문자열만 더한 다음 객체 주소를 다시 출력해 보는 코드이다. 다시 변수를 만든 것도 아닌데 주소가 같지 않을까?String 객체의 주소 : 3541040String 객체의 주소 : 1758230625하지만 아니다. 왜일까?자바에서 String 객체는 기존 객체를 재사용하지 않는다, 같은 객체에 더한다고 해도 새로운 객체가 생성되고 기존 객체는 GC의 대상이 된다.즉, String 클래스는 I..