String.valueOf()

BaeSeBinยท2025๋…„ 1์›” 8์ผ

๐Ÿ˜Š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()); // java.lang.Object@<hashcode>
    }
}
๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ํ•ด์‹œ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•จ.
์‚ฌ์šฉ์ž ์ •์˜ ํด๋ž˜์Šค์—์„œ 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); // Person{name='Alice', age=30}
    }
}

0๊ฐœ์˜ ๋Œ“๊ธ€