오늘 강의로 Sytem.out.println()에 참조형 변수를 넣으면 toString() 에 의해 객체 정보를 반환한다는 내용을 배웠다.
그런데 기본형 변수들은 참조형 변수와 달리 toString() 메서드를 가지고 있지 않은데 어떻게 되는걸까?
답은 자동으로 String 문자열로 변환되기 때문이다.
System.out.println() 내부를 보면 String.valueOf() 메서드가 처리 해준다.
int number = 10;
System.out.println(number);
- number 는 int형 기본 변수이다.
- System.out.println 메서드 내부적으로 String.valueOf(number) 호출을 한다.
- String.valueOf(number) 는 int 값을 문자열로 변환한다.
- 변환된 문자열이 PrintStream의 println 메서드에 전달된다.
- 변환된 문자열이 콘솔에 출력된다.
String.valueOf() 메서드는 다음과 같이 작동한다.
- String.valueOf(int i) 는 기본형 int 값을 받고, Interger.toString(i) 를 호출하여 문자열로 변환한다.
- 이처럼 다른 기본형에 대해서도 각각 대응하는 String.valueOf 메서드가 존재한다.
결론 기본형 변수에 대해 Sytem.out.println 는 자동으로 값을 문자열로 변환하는 과정을 거쳐 콘솔에 출력할 수 있게 된다.
'오류, 기능, 문제해결(JAVA)' 카테고리의 다른 글
| Class, System, Math, Random 클래스 (0) | 2025.01.15 |
|---|---|
| 키오스크 과제 트러블슈팅 (0) | 2025.01.13 |
| 계산기과제 레벨2 (0) | 2025.01.09 |
| Operator '+' cannot be applied to 'java.lang.String', 'void' (0) | 2025.01.05 |
| Recursive constructor call (0) | 2025.01.03 |