본문 바로가기
언어 공부하기/JAVA 개념

[Java 자바] ValueOf(), toString() 메소드 사용법 및 예제 알아보기(자바 함수)

by 망댕이 2024. 11. 18.
반응형

ava에서 문자열(String)을 다루는 메소드는 매우 중요한 역할을 한다.

특히, 객체를 문자열로 변환하거나 문자열 값을 객체로 변환하는 경우가 빈번하게 발생한다. 이때 자주 사용되는 두 가지 메소드가 바로 valueOf()와 toString()이다.

 

이번 글에서 valueOf()와 toString() 메소드의 사용법과 차이점을 예제를 통해 알아보자.

 

▷ ValueOf() 메소드

valueOf() 메소드는 클래스 메소드(Static Method)로, 주어진 값을 문자열로 변환하여 반환한다.

이 메소드는 주로 기본 데이터 형을 String으로 변환할 때 사용된다.

  • 정적 메소드: String.valueOf(값) 형태로 사용합니다.
  • 널(null) 처리: 입력값이 null이면 문자열 "null"을 반환한다.
public static String valueOf(Object obj)
public class ValueOfExample {
    public static void main(String[] args) {
        int number = 42;
        double decimal = 3.14;
        boolean flag = true;

        String strNumber = String.valueOf(number);
        String strDecimal = String.valueOf(decimal);
        String strFlag = String.valueOf(flag);

        System.out.println("정수 변환: " + strNumber); // 출력: "정수 변환: 42"
        System.out.println("실수 변환: " + strDecimal); // 출력: "실수 변환: 3.14"
        System.out.println("불리언 변환: " + strFlag); // 출력: "불리언 변환: true"
    }
}
출력결과

정수 변환: 42
실수 변환: 3.14
불리언 변환: true

 

 

▷ toString() 메소드

toString() 메소드는 객체(Object)의 문자열 표현을 반환한다. 객체를 문자열로 변환할 때 기본적으로 사용된다.

  • 널(null) 처리 불가: 객체가 null이면 NullPointerException이 발생한다.
  • 객체에 따라 다름: 기본적으로는 객체의 클래스명과 해시코드를 포함하지만, 클래스에서 toString() 메소드를 오버라이딩하여 커스터마이징할 수 있다.
public String toString()
public class ToStringExample {
    public static void main(String[] args) {
        Integer inte = new Integer(200);
        String str = inte.toString();

        System.out.println("객체 변환: " + str + 100);
    }
}
출력결과

객체 변환: 200100

 

+ 사용자 정의 클래스에서 toString() 오버라이딩

 

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + "}";
    }
}

public class ToStringExample {
    public static void main(String[] args) {
        Person person = new Person("망댕이", 30);
        System.out.println(person);
    }
}
출력결과

Person{name='망댕이', age=30}

 

 

valueOf()와 toString()의 차이점

특징
valueOf()
toString
메소드 타입
정적 메소드 (Static Method)
인스턴스 메소드 (Instance Method)
null 처리
"null" 문자열로 반환
NullPointerException 발생
호출 방식
String.valueOf(값)
객체.toString()
오버라이딩 가능 여부
불가능
가능 (클래스에 따라 커스터마이징 가능)
기본 반환 값
입력값의 문자열 표현
클래스명과 해시코드, 또는 오버라이딩 결과값

valueOf()와 toString() 메소드는 각각의 상황에 맞게 활용할 수 있다.

 

valueOf()는 정적 메소드로 다양한 자료형을 안전하게 문자열로 변환할 때 유용하다.

toString()은 객체의 문자열 표현을 커스터마이징할 때 효과적이다.

 

궁금한 점이나 추가적인 활용 예제가 있다면 댓글로 알려주세요! 😊

반응형