[Java기초]System.out.print()

조은지·2021년 3월 19일
0

Java기초

목록 보기
2/2
String a = new String("AA");
System.out.println(a);
출력: "AA"

왜 값이 출력이 되는 걸까?

println에 Ctrl+Click을 하면 PrintStream Class를 볼 수 있다 .

public void println(String x) {
        synchronized (this) {
            print(x);
            newLine();
        }
    }
 public void print(String s) {
        write(String.valueOf(s));
    }

여기에서 String.valueOf(x);를 살펴보면

public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

이 때, String.toString은

public String toString() {
        return this;
    }

이므로 변수의 값이 출력이 된다.

String이 아닌 다른 Class의 경우,

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

클래스 명@메모리 주소가 출력이 된다.

0개의 댓글

관련 채용 정보