250x250
Recent Posts
Notice
Today
Total
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
관리 메뉴

코딩알파

[Java] String 타입 기초부터 알아보기 본문

JAVA공부

[Java] String 타입 기초부터 알아보기

코딩알파 2021. 9. 28. 15:27
728x90

String은 문자열을 변수에 저장하기 위한  데이터 타입.

 

 
 String 변수 = "문자열" ;
cs

 

문자열은 String 객체로 생성되고 변수는 String 객체를 참조하다.

하지만 일반적으로 변수에 저장한다는 표현을 사용한다.

 

 
String a1= "자바" ;
 
String a2= "자바" ;
cs

 

동일한 객체를 참조하고 있어 둘을 비교할시 true가 나온다.

 

여기서 new 연산자를 사용해서 String 객체를 생성시킬 수 있다.

new 연산자는 힙 영역에서 새로운 객체를 만들 때 사용하는 연산자다.

 

 
 
String a1 = new String("자바");
 
String a2 = new String("자바");
cs

 

서로 다른 객체를 참조하기에 둘을 비교할때 false가 나온다.

 

 
String a1= "자바" ;
 
String a2= "자바" ;
 
String a3 = new String("자바");
cs

 

a1 == a2를 비교할 때 같은 객체를 참조하기 때문에 true가 나오고 a1 == a3는 서로 다른 객체를 참조가 하기 때문에 false가 나온다. 마찬가지로 a2 == a3 결괏값은 false이다.

동일한 String 객체이던지 아니던지 상관없이 문자열 자체만 비교하는 건 String 객체의 equals() 메서드를 사용한다.
equals() 메서드는 원본 문자열과 매개값으로 주어진 비교 문자열이 동일한지 비교 후 true 또는 false를 나타낸다.

 

 
public class ttts {
 
    public static void main(String[] args) {
        
        String a1= "자바";
        String a2= "자바";
        
        if(a1==a2) {
            System.out.println("참조가 같다.");
        }else {
            
            System.out.println("참조가 다르다.");
        }
        
        if(a1.equals(a2)) {
            System.out.println("a1 a2 는 문자열이 같다.");
        }
        String a3 = new String("자바");
        String a4 = new String("자바");
        
        if(a3==a4) {
            System.out.println("참조가 같다.");
        }else {
            System.out.println("참조가 다르다.");
        }
        if(a3.equals(a4)) {
            System.out.println("a3 a4는 문자열이 같다. ");
        }
        
    }
}
 
 
cs

 

 
참조가 같다.
a1 a2 는 문자열이 같다.
참조가 다르다.
a3 a4는 문자열이 같다. 
cs

 

equals 메소드는 문자열 자체로만 비교하기 때문에 참조가 달라도 된다.

728x90
Comments