반응형
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()은 객체의 문자열 표현을 커스터마이징할 때 효과적이다.
궁금한 점이나 추가적인 활용 예제가 있다면 댓글로 알려주세요! 😊
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] Scanner 클래스 완벽 가이드 : 기본 개념부터 예제까지 (자바 Scanner) (0) | 2024.11.21 |
---|---|
[Java 자바] Random 클래스 완벽 가이드 : 기본 개념부터 예제까지 (자바 Random) (0) | 2024.11.21 |
[Java 자바] indexOf()와 substring() 메소드 사용법 및 예제 알아보기(자바 함수) (1) | 2024.11.13 |
[Java 자바] length(), charAt() 메소드에 대하여 빠르게 알아보기(자바 함수) (1) | 2024.11.13 |
[Java 자바] 인터페이스(Interface)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 인터페이스) (0) | 2024.08.26 |