반응형
객체에 toString()을 하면 원하는 문자열이 나와야할 것 같은데
어쩔땐 원하는 문자열이 나오고, 어쩔땐 클래스명과 16진수 형태로 나온다.
클래스명@16진수 형태로 나오는 경우는 toString메서드를 오버라이드(재정의)하지 않아,
모든 클래스의 최상위 조상인 Object의 toString메서드를 호출하기 때문이다.
아래 코드는 Object클래스의 toString메서드 부분이다.
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
클래스를 새로 생성하면 디버깅을 위해서라도 클래스의 정보들을 잘 드러낼 수있도록,
원하는 내용으로 재정의를 하는 것이 좋겠다.
(아래는 간단히 변수에 대한 정보를 가져오는 toString메서드 오버라이딩 예시)
@Override
public String toString() {
return "변수 = " + 변수;
}
반응형
'개발 > java' 카테고리의 다른 글
mybatis For input string: '문자열' 오류 해결 (0) | 2023.02.06 |
---|---|
mybatis mysql 다중 쿼리 실행방법 (0) | 2021.07.26 |
환경변수를 사용하는 이유 JAVA (0) | 2021.05.03 |