[String 타입]

: 자바는 문자열을 String변수에 저장하기 때문에 다음과 같이 String 변수를 우선적으로 선언해야 합니다.

ex) String 변수;

이제 변수에 문자열을 저장하려면 큰 따옴표로 감싼 문자열 리터럴을 대입하면 됩니다.

ex) 변수 = "문자열";


==> String 변수 = "문자열";  과 같이 선언과 동시에 저장할 수 있습니다.

( 단, 문자열이 직접 변수에 저장되는 것이 아니라, 문자열은 String 객체로 생성되고 변수는 String 객체를 참조하는 것입니다만 일반적으로 표현할 때에는 String 변수에 저장한다는 표현으로 사용합니다. )


String 관련하여 예시를 하나 들겠습니다.

String name1 = "최진우";

String name2 = "최진우";

String name3 = new String("최진우");


이때, if조건문을 이용하여 비교를 한다고 가정할 때,

name1 == name2  -> true

name1 == name3 -> false

name1.equals(name3) -> true


가 됩니다.

그 이유로는 == 라는 연산자는 변수에 저장된 객체 번지가 동일한지를 검사합니다.

name1과 name2는  동일한 문자열 리터럴로 생성된 객체를 참조하므로 결과가 true가 나옵니다.

그러나 name3은 new 연산자로 String 객체를 별도로 생성했기 때문에 name1 == name3은 false가 나오게 되는 것입니다.


동일한 String 객체이건, 다른 String 객체이건 문자열만을 비교할 때에는 String객체의 equals()메소드를 사용해야 합니다.

equals() 메소드는 원본 문자열과 매개값으로 주어진 비교 문자열이 동일한 지 비교한 후 true또는 false를 리턴합니다.


WRITTEN BY
SiriusJ

,