728x90
클래스를 여러개 만들어서 작업하거나 객체를 불러와서 print할 때 알수없는 주소값을 출력하는 것을 여러번 겪게 되었습니다.
toString()을 쓰면 주소값을 문자로 불러올 수 있는데, 무작정 toString() 메소드를 쓴다고 해서 문자열이 짜잔하고 나오는 것은 아닙니다 !
public class Test {
public static void main(String[] args) {
String s = "superman";
System.out.println(s.toString());
Test t = new Test(); // 객체 생성
System.out.println(t.toString()); // 이때 주소값이 불러와진다.
}
}
객체를 불러올때 toString으로 불러오면 문자열 그대로 출력할 수 있습니다.
위 코드에서 왜 주소값이 불러와질까?
"모든 class는 object를 상속받고있다."
String 클래스도 object를 상속받고있는 것 !
public class Test {
@Override
public String toString() {
return "It's me";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.toString());
}
}
String 클래스의 toString()을 오버라이딩해주면 내가 불러오고 싶은 값을 문자열 그대로 출력할 수 있게됩니다.
'JAVA' 카테고리의 다른 글
[JSP] Servlet 한글 깨짐 해결 / 한글 처리 방식 (0) | 2023.09.21 |
---|---|
[JAVA] 기초 알고리즘 문제 - 네 자리 정수 교차 하여 최솟값 만들기 (2) | 2023.07.18 |
[JAVA] 자바 - Set을 이용한 성적 관리 프로그램 (0) | 2023.07.14 |
[JAVA] 자바 - List, Set, Map 에 대해서 알아보자 (1) | 2023.07.13 |
[JAVA] 자바 상속 개념 - 메소드 오버라이딩 (0) | 2023.07.10 |