본문 바로가기
자바[JAVA]

[자바] String + int 연산 완벽 정리 (문자형 정수형 더하기)

by devlog93 2025. 12. 18.

java를 처음 배우다 보면 String(문자형) + int(정수형) 연산 코드가 헷갈릴 때가 있어서 정리해 보려고 합니다.

System.out.println("10" + 20);

↑ ↑ ↑ 이런 코드가 헷갈릴 때가 있다.

결과가 30일까? 아니면 1020일까? 정답은 1020이다. 왜 이런 결과가 나오는지 하나씩 차근차근 봐보자.

 

1. JAVA에서 + 연산자의 의미는?

  • JAVA에서 + 연산자는 두 가지 역할을 한다.
상황 의미
숫자 + 숫자 덧셈
문자열 + 숫자 문자열 연결(결합!!!)

 

2. String + int 연산의 기본 원리

String str = "10";
int num = 20;

System.out.println(str + num);

 

실행결과

1020

 

왜 이렇게 될까???

  • str이 String 타입이고
  • JAVA는 num(int)을 자동으로 String으로 변환한다.
  • "10" + "20" ㅡㅡㅡ> "1020"
  • 즉... 문자열이 기준이 된다.

 

3. 연산 순서에 따라 결과가 달라진다. (예제)

System.out.println("결과:   " + 10 + 20);

 

실행결과

결과:   1020
  • 연산은 왼쪽부터 차례대로 실행된다.
  • "결과:   " + 10 ㅡㅡㅡ> "결과:   10:
  • "결과:   10" + 20 ㅡㅡㅡ> "결과:   1020"

 

4. 원하는 덧셈 결과를 얻으려면...???

System.out.println("결과:   " + (10 + 20));

 

실행결과

결과:   30

괄호로 숫자 연산을 먼저 수행해야 한다.

 

5. int + String도 동일하게 동작한다.

System.out.println(10 + "20");

 

실행결과

1020
  • 숫자 + 문자열
  • 문자열이 하나라도 있으면 ㅡㅡㅡ> 문자열 결합

 

6. 숫자로 계산하고 싶으면...? ( String ㅡㅡㅡ> int 변환)

문자열 안에 숫자가 들어가 있다면, 형 변환을 통해 계산할 수 있다.

String str = "10";
int num = 20;

-- 문자열 ㅡ> 정수형 변환
int result = Integer.parseInt(str) + num;

System.out.println(result);

 

실행결과

30

 

 

7. 실무에서 자주 하는 실수!!!

int result = "10" + 20; -- 컴파일 에러
  • 문자열 결합 결과는 String
  • int 변수에 넣을 수 없다. 주의하자!!!

올바른 코드

-- 형 변환을 해주자.
int result = Integer.parseInt("10") + 20;

 

 

8.  한눈에 정리 해보자.

코드 결과
"10" + 20 "1020"
10 + 20 + "30" "3030"
"10" + 20 + 30 "102030"
"결과:   " + (10 + 20) "결과:   30"
Integer.parseInt("10") + 20 30

 

핵심 요약

String이 하나라도 있으면 +는 문자열 결합이 된다. 숫자 계산을 원하면 괄호 또는 형 변환 필수. 문자열 ㅡㅡㅡ> 정수 변환은 Integer.parseInt()를 사용하자. 오늘은 자바에서 String + int 연산 정리를 해보았습니다. 헷갈릴 수도 있기 때문에 한 번쯤은 정리를 해두는 것이 좋을 거 같습니다. 감사합니다. (_ _)