String + Number -> String

Dongwoo Joo·2024년 12월 10일

java

목록 보기
3/8

개요

String + Number -> String
문자열과 숫자를 더하면 문자열이 반환된다.
왜 그럴까?

String s = "a" + 1;
System.out.println(a);

a1

문자열 결합규칙

  • 연산자는 두 피연산자 중 하나가 String인 경우, 다른 피연산자를 문자열로 변환한 후 두 값을 결합한다.
    이때, 형변환은 String.valueOf 메서드를 통해 이루어진다.

내부 동작

1단계: 문자열 확인
표현식 "a" + 1 에서 첫 번째 피연산자는 "a" 문자열이다.

2단계: 숫자 변환
두 번째 피연산자인 1(정수 타입)은 문자열로 변환된다.

  • 변환은 String.valueOf(1) 메서드를 호출한다.
  • 결과: "1"

3단계: 결합
변환된 문자열 "1"과 "a"를 결합하여 최종결과 "a1"이 반환된다.

왜 이렇게 설계를 했을까?

Java의 설계 철학은 개발자의 편의성을 높이기 위한 것이다.
문자열과 숫자를 더하는 경우, 명시적으로 숫자를 변환하지 않고도 바로 문자열로 결합할 수 있게 했다.

추가 사례

순서에 따른 차이

1 + 1 + "a" // "2a"
"a" + 1 + 1 // "a11"

결론

Java는 문자열과 숫자를 결합할 때 숫자를 자동으로 문자열로 변환하여 처리한다. 이때 String.valueOf() 메서드를 호출한다. 결과적으로 문자열을 반환한다.

여기까지 GPT의 답변이다.
이 말이 사실인지 Oracle의 java.docs를 찾아보자.
찾아보고 정리한 내용: 문자열 연결 연산자

profile
pursue nature

0개의 댓글