Java

객체 문자정보 - toString()

공부처음하는사람 2024. 7. 9. 21:57

 

toString() 메서드는 객체의 문자 정보를 리턴한다.

기본적으로 Object의 toString 메서드는 클래스명@16진수해시코드로 구성된 문자열을 리턴한다.

 

System.out.println(obj.toString());

// java.lang.Object@de6ced

 

객체의 문자 정보가 중요한 경우에 Object의 toString을 오버라이딩해서 정보를 리턴하도록 해야한다.

 

package ch12.sec03.ex03;

public class SmartPhone {
    private String company;
    private String os;

    public SmartPhone(String company, String os) {
        this.company = company;
        this.os = os;
    }

    @Override
    public String toString() {
        return company + ", " + os; // toString을 오버라이딩해서 제조사와 운영체제가 결합된 문자열 리턴
    }
}

 

package ch12.sec03.ex03;

public class ToStringEx {
    public static void main(String[] args) {

        SmartPhone myPhone = new SmartPhone("애플", "아이폰15");

        String strObj = myPhone.toString();
        System.out.println(strObj);

        System.out.println(myPhone);
    }
}

 

오버라이딩 했을 때의 실행 결과
오버라이딩 하지 않았을 때의 실행 결과

 

 

System.out.println() 메소드는 매개값이 기본타입이거나 문자열일 경우 해당 값을 그대로 출력한다.

만약 매개값이 객체가 되는 경우 System.out.println(myPhone) 와 같을 경우 toString() 메서드를 호출해 리턴값을 출력한다.

'Java' 카테고리의 다른 글

롬복 (Lombok)  (0) 2024.07.09
레코드 선언  (0) 2024.07.09
Object 클래스 / HashCode  (0) 2024.07.09
예외  (1) 2024.07.09
익명 객체  (0) 2024.07.06