SW공부 22일차

Guryena·2023년 1월 27일
0

CS

목록 보기
15/34

1.this 함수에 대하여 설명하시오.

this함수는 객체 자기 자신을 의미한다.
1. 자기 자신의 메모리를 가르킨다.
2. 생성자에서 다른 생성자를 호출할 경우 사용한다.
3. 인스턴스 자신의 주소를 반환할 때 사용한다.

2.스트링 객체를 생성하는 2가지 방법은?

String s1 = "Hello";
String s2 = new String("Hello");

3.아래의 결과를 예측하고,이유를 설명하시오.

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 참조"를 출력한다.

4.String 이 immutable 에 대하여 설명하시오.

String은 기본 타입(Primitive Type)이 아닌 참조 타입(Reference Type)이라는 것dl다. 즉, String은 클래스다.
java에서 String 객체는 특별히 String constant pool에서 따로 관리가 된다.

이 String constant pool은 Heap에 할당되어 있다. (Java 7 버전 이전에는 Perm 영역에서 관리 되었으나 7 버전 이후에 Heap 영역으로 옮겨졌다.)

5.abcde를 역순으로 화면에 출력하는 프로그램을 작성하시오.

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);
	}

0개의 댓글