Java/Java

참조 타입(Reference Type) - Java Data Type

마손리 2023. 2. 19. 23:18

문자열

문자열은 String 이란 클래스 타입을 사용한다. String 클래스 타입을 사용하므로써 문자열과 관련된 메서드들을 사용할수 있다. 

String name1 = "Mason";
// 문자열 리터럴을 String 타입의 변수 name에 할당하는 방법

String name2 = new String("Mason");
// String 클래스의 인스턴스를 생성하는 방법

두가지 방법 모두  리터럴은 큰따옴표(" ")를 감싸 사용하지만 차이점이 존재한다.

 

String name1 = "Mason";
String name2 = "Mason";

String name3 = new String("Mason");
String name4 = new String("Kim Coding");

boolean comparison1 = name1 == "Mason";      // true
boolean comparison2 = name1 == name2;             // true
boolean comparison3 = name1 == name3;             // false
boolean comparison4 = name3 == name4;             // false
boolean comparison5 = name1.equals("Mason"); // true
boolean comparison6 = name1.equals(name3);        // true
boolean comparison7 = name3.equals(name4);        // true

위의 반환된 값들을 비교해 보자면 변수 name1과 name2는 문자열 리터럴을 직접 할당 받았으며, 이처럼 문자열 리터럴의 내용이 같다면 같은 주소값을 갖기 때문에 true를 리턴합니다.

 

하지만 name3과 name4와 같이 String 클래스를 통해 인스턴스를 생성하면 내용이 갖다고 하더라도 다른 주소값을 가집니다.  그러므로 equals() 메소드를 사용하여 해당 변수들의 직접적인 값이 같은지 비교를 해야 true를 반환합니다.

 

 

'Java > Java' 카테고리의 다른 글

연산자  (0) 2023.02.20
Java의 유용한 메소드들  (0) 2023.02.20
기본타입 (Primitive type) - Java Data Type  (0) 2023.02.19
변수와 자바의 데이터 타입  (0) 2023.02.18
Java의 설치 와 특징  (0) 2023.02.18