본문 바로가기

JAVA

[JAVA] string 클래스 (자바 독학하기13)

반응형

자바에서는 String 이라는 이름의 클래스를 정의하여 제공하고 있으며 이 클래스의 목적은 문자열 표현에 있다.

문자열 표현을 위한 String 인스턴스의 생성 방법은 다음과 같이 일반적인 인스턴스의 생성 방법과 같다.

String str = new String("ABC");

이렇게 인스턴스가 생성되면 str 이 참조하는 String 인스턴스의 내부에는 문자열 "ABC" 가 담기게 된다.

그리고 다음과 같은 방법으로도 생성이 가능하며 이는 보다 보편적인 방법이다.

String str = "ABC";

그리고 String 클래스의 문자열 길이를 반환하는 메소드가 있는데 사용은 다음과 같이 한다.

여기서 println 이 문자열도 출력하고 숫자도 출력하는 이유는

void println(int a)

void println(string b)

와 같이 오버로딩 되어있고 매개변수의 형에 따라 해당 메소드를 호출하기 때문이다.

 또한 위의 코드와 같이 따옴표로 묶은 문자열 자체를 대상으로 인스턴스가 저절로 생성되기도 한다.

 

그리고 

String str1 = new String("ABC");

String str2 = new String("ABC");

는 서로 다른 인스턴스를 참조하는 것을 알고 있다.

그러나 

String str1 = "ABC";

String str2 = "ABC";

는 동일한 인스턴스를 참조하는 것을 알아두어야 한다.

이는 Sting 인스턴스의 다음 특성때문이다.

- String 인스턴스는 Immutable(변경할 수 없는) 인스턴스이다.

String 인스턴스는 생성되면 소멸될 때 까지 바뀌지 않고 이를 이용하여 컴파일러는 더 효율적인 처리를 위해 동일한 문자열의 String 인스턴스를 공유하게 된다.

반응형