this함수는 객체 자기 자신을 의미한다.
1. 자기 자신의 메모리를 가르킨다.
2. 생성자에서 다른 생성자를 호출할 경우 사용한다.
3. 인스턴스 자신의 주소를 반환할 때 사용한다.
String s1 = "Hello";
String s2 = new String("Hello");
String str1 = "Simple String";
String str2 = "Simple String";
String str3 = new String("Simple String");
String str4 = new String("Simple String");
if(str1 == str2)
System.out.println("str1과 str2는 동일 인스턴스 참조");
else
System.out.println("str1과 str2는 다른 인스턴스 참조");
if(str3 == str4)
System.out.println("str3과 str4는 동일 인스턴스 참조");
else
System.out.println("str3과 str4는 다른 인스턴스 참조");
str1과 str2는 같은 주소값을 참조하여 "동일 instance 참조"를 출력하나,
str3과 str4는 새로운 생성자를 생성하여 각각의 주소값을 참조하기에 "다른 instance 참조"를 출력한다.
String은 기본 타입(Primitive Type)이 아닌 참조 타입(Reference Type)이라는 것dl다. 즉, String은 클래스다.
java에서 String 객체는 특별히 String constant pool에서 따로 관리가 된다.
이 String constant pool은 Heap에 할당되어 있다. (Java 7 버전 이전에는 Perm 영역에서 관리 되었으나 7 버전 이후에 Heap 영역으로 옮겨졌다.)
String 객체에 있는 length() 와 함수와 charAt() 함수를 활용하시오.
입력:abcde
출력:edcba
String al = "abcde";
String reverse = "";
for (int i = al.length() - 1; i >= 0; i--) {
reverse = reverse + al.charAt(i);
}
System.out.println(reverse);
}