
두 메소드의 차이점은 null값에 따른 NPE(NullPointException) 발생의 유무입니다.
객체를 문자열로 변환합니다. 대부분의 클래스에서 이 메서드를 오버라이드하여 해당 객체의 문자열 표현을 반환합니다.
여러 가지 데이터 타입을 문자열로 변환합니다. 이 메서드는 인자로 전달된 객체의 toString() 메서드를 내부적으로 호출하여 문자열로 변환합니다.
따라서 NPE를 방지하기 위해서는 입력이 null인 경우에도 안전하게 문자열로 변환해야 할 때 String.valueOf()를 사용하는 것이 좋습니다.
하지만 toString()은 해당 객체의 문자열 표현을 반환하므로, null 체크를 해주어야 합니다.