작성
·
131
0
우선 전체적인 질문부터 말씀드리면 래퍼클래스를 언박싱할땐 기본형을 꺼내고 출력시엔 무조건 문자형으로 출력하게 되는걸까요?
기본형을 박싱하게 되면 valueOf를 사용하게 되는데 결국 괄호 안의 객체를 String 객체로 생성하는거잖아요...?
언박싱은 래퍼 클래스에 들어있는 기본형 값을 다시 꺼내는 메서드인데 그럼 이 메서드를 사용하면 int형을 꺼내게 되는거고 또 출력할 땐 이것과 다르게 재정의 된 toString이 작동해서 숫자가 아닌 문자형 숫자로 출력하게 되는건가요?
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
답변 1
0
안녕하세요. 초보개발자님, 공식 서포터즈 David입니다.
valueOf()를 사용할 때 파라미터로 반드시 문자열이 와야 하는 건 아닙니다. int, String 모두 사용할 수 있습니다.
Integer.intValue()는 int로 Integer의 값을 반환해줍니다. Integer는 내부에 int 타입으로 값을 보관하고 있습니다. 자세한 내용은 Integer 클래스 코드를 확인해 주세요.
Integer에서 toString()을 호출하면 내부적으로 숫자를 문자로 바꾸는 로직이 동작하여 Integer의 값을 문자열로 출력하게 됩니다.
감사합니다.