๐String.valueOf()
String.valueOf() ๋ฉ์๋๋ Java์์ ๋ค์ํ ํ์
์ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๋ฉ์๋๋ ์ค๋ฒ๋ก๋ฉ(overloading)๋์ด ์์ผ๋ฉฐ, ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
, ๊ฐ์ฒด, ๋๋ null ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํ ์ ์์ต๋๋ค.
1. ๊ฐ์ฒด๊ฐ null์ธ ๊ฒฝ์ฐ, ๋ฌธ์์ด "null"์ ๋ฐํ ์ฆ, null ์ฒ๋ฆฌ๋ฅผ ์์ ํ๊ฒ ํฉ๋๋ค.
toString() ๋ฉ์๋์ ์ ์ฌํ์ง๋ง ๋ ์ ์ฐํจ. ๊ฐ์ฒด๊ฐ null์ธ ๊ฒฝ์ฐ toString()์ NullPointerException์ ๋์ง์ง๋ง, String.valueOf()๋ "null"์ ๋ฐํํฉ๋๋ค.

๐toString()
toString() ๋ฉ์๋๋ Java์์ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ํํํ๊ธฐ ์ํด ์ฌ์ฉ๋จ. ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฏ๋ก, ๊ธฐ๋ณธ์ ์ผ๋ก toString() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์. ํ์ง๋ง ๊ธฐ๋ณธ ๊ตฌํ์ ๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ฐํํ๋ฏ๋ก, ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ค๋ฉด ์ด ๋ฉ์๋๋ฅผ ์ฌ์ ์(override)ํด์ผ ํฉ๋๋ค.
public class Main {
public static void main(String[] args) {
Object obj = new Object();
System.out.println(obj.toString());
}
}
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฒด์ ํด๋์ค ์ด๋ฆ๊ณผ ํด์ ์ฝ๋๋ฅผ ํฌํจํ๋ ๋ฌธ์์ด์ ๋ฐํํจ.
์ฌ์ฉ์ ์ ์ ํด๋์ค์์ 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 Main {
public static void main(String[] args) {
Person person = new Person("Alice", 30);
System.out.println(person);
}
}