[IT 개발자 면접 대비문제] String과 StringBuffer의 차이점
1. String : Java에서 String은 불변객체(immutable instance)다.
한번 생성되면 내용이 변경되지 않는다.
예를들어
String aa = "Hello";
aa = "world";
라고 코딩을 한다면 최초 aa가 저장한 주소에 Hello가 기록된다.
그리고 두번째 라인에서 aa = "world"라고 할경우 최초 aa가 저장한 주소의 값인 Hello가 world로 변화하는것이 아니라
aa는 새로운 메모리주소를 할당받고 그곳에 world를 기록한다. 최초 저장한 Hello가 저장된 메모리주소는 링크를 잃게되며
JVM 의 GC가 회수하게된다.
2. StringBuffer : char[]배열을 사용한다. 즉, char배열의 시작 주소를 가지고 있고, char를 핸들링하는 클래스이다.
따라서 내용의 추가 / 변형 / 수정 / 삭제가 자유롭다.
3. 결론
- 문자열의 컨트롤이 주가되는 프로그램이라면 String대신 StringBuffer를 사용하는것이 이롭다.
반응형
'프로그래밍 > 면접대비문제' 카테고리의 다른 글
[IT 개발자 면접 대비문제] Spring의 원리 (0) | 2016.09.17 |
---|---|
[IT 개발자 면접 대비문제] WAS를 설명하시오 (0) | 2016.09.17 |
[IT 개발자 면접 대비문제] 세션과 쿠키의 특징과 차이점 (0) | 2016.09.17 |
[IT 개발자 면접 대비문제] JAVA 와 C의 차이점 (0) | 2016.09.17 |
[IT개발자 면접 대비문제] Map과 List의 차이점 (0) | 2016.09.17 |