정처기 감자정처기 감자
Java입출력함수

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

Java 출력 함수 — print, println, printf와 문자열 결합

코딩Java
읽는데 7분 소요
처음 쓰인 날: 2026-04-02
마지막 수정일: 2026-10-01
조회수: —

요약

Java의 출력 함수 System.out.print(), println(), printf()의 차이점과 + 연산자를 이용한 문자열 결합 규칙을 정리합니다. 정보처리기사 실기에서 출력 결과를 정확히 쓰기 위한 핵심 개념입니다.

핵심 정리

개념설명
System.out.print()출력 후 줄바꿈 없음
System.out.println()출력 후 줄바꿈
+ 문자열 결합한쪽이 문자열이면 나머지도 문자열로 변환하여 이어붙임
+ 계산 순서왼쪽에서 오른쪽으로 순서대로 계산
System.out.printf()서식 지정자(%d, %s, %f)로 형식을 지정하여 출력, 줄바꿈 없음

print()와 println()의 차이

Java에서 화면에 값을 출력할 때 System.out.print()와 System.out.println() 두 가지를 사용합니다. System.out1을 앞에 붙여야 화면에 출력됩니다. 차이는 출력 후 줄바꿈을 하느냐 안 하느냐입니다.

두 메서드2의 차이를 표로 정리하면 다음과 같습니다.

메서드줄바꿈
System.out.print()안 함
System.out.println()함
java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…
java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…
시험에서 print와 println 구분이 중요합니다
정보처리기사 실기에서 출력 결과를 쓸 때 줄바꿈 여부가 정답에 영향을 미칩니다. print는 줄바꿈 없이, println은 줄바꿈과 함께 출력한다는 것을 꼭 기억하세요.

+ 연산자로 문자열 결합

Java에서 + 연산자는 양쪽이 모두 숫자이면 덧셈을 합니다. 하지만 한쪽이라도 문자열이면 나머지도 Java가 알아서 문자열로 바꾸어 이어붙입니다.

java
코드 하이라이팅 중…

계산 순서에 주의 — 왼쪽에서 오른쪽으로

+ 연산자는 왼쪽에서 오른쪽으로 순서대로 계산됩니다. 어디서 문자열이 등장하느냐에 따라 결과가 완전히 달라집니다.

+ 연산자의 계산 순서 — 문자열 위치에 따라 결과가 다릅니다
+ 연산자의 계산 순서 — 문자열 위치에 따라 결과가 다릅니다
java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…

왼쪽부터 계산합니다:

  1. 1 + 2 → 양쪽 모두 숫자 → 덧셈 → 3
  2. 3 + "감자" → 한쪽이 문자열 → 이어붙이기 → "3감자"
java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…
  1. "감자" + 1 → 한쪽이 문자열 → 이어붙이기 → "감자1"
  2. "감자1" + 2 → 한쪽이 문자열 → 이어붙이기 → "감자12"
괄호로 계산 순서를 바꿀 수 있습니다
"감자" + (1 + 2)는 괄호 안 1 + 2 = 3이 먼저 계산되어 "감자3"이 됩니다. 괄호가 없으면 "감자12"입니다.

char 산술

먼저 따옴표 모양에 따라 3이 전혀 다른 값이 된다는 점을 구분해야 합니다.

표기종류의미
3숫자(int)정수 3
'3' (작은따옴표)문자(char)글자 하나 3
"3" (큰따옴표)문자열(String)글자 3으로 된 문자열

문자(char)는 컴퓨터 안에서 문자마다 정해진 코드 값(정수) 으로 표현됩니다. 숫자 모양의 문자도 마찬가지라서, 문자 '3'의 코드 값은 3이 아니라 51입니다.

문자'0''1''2''3''A''B''C'
코드 값48495051656667

이 코드 값은 ASCII 표의 값과 같습니다3.

char끼리, 또는 char와 int를 + / -로 계산하면 Java는 char를 코드 값(int)으로 바꾼 뒤 계산합니다. 그래서 아래 예제들의 결과는 모두 int입니다4.

java
코드 하이라이팅 중…
식내부 계산결과
'C' - 'A'67 - 652
'0' + 548 + 553
'A' + 'B'65 + 66131
char - char는 int입니다
'C' - 'A'의 결과는 char 'B'가 아니라 int 2입니다. 다시 char로 쓰려면 (char)로 명시적 변환을 해야 합니다.

1 + '3'은 왜 52일까?

1 + '3'은 숫자와 문자의 덧셈입니다. 문자열이 없으므로 이어붙이지 않고, 문자 '3'을 코드 값으로 바꿔 더합니다.

  1. '3' → 코드 값 51
  2. 1 + 51 → 덧셈 → 52

반면 문자열이 먼저 등장하면 char는 숫자로 바뀌지 않고 글자 그대로 이어붙습니다. 좌결합 계산 중 어느 단계부터 String이 되었느냐가 핵심입니다.

java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…
식출력설명
1 + 34숫자끼리 덧셈
1 + '3'52문자 코드 값 51과 덧셈
1 + "3"13문자열로 이어 붙임
"1" + '3'13문자열과 문자를 이어 붙임
"A" + 'B' + 1AB1"AB"가 된 뒤 1도 이어 붙임

빈 문자열 "" 활용

숫자를 문자열로 바꾸고 싶을 때 빈 문자열 ""을 더하는 패턴이 시험에 종종 출제됩니다.

java
코드 하이라이팅 중…

String5은 문자열을 담는 타입입니다.


printf()로 서식 출력

printf()는 서식 지정자6를 사용하여 출력 형식을 지정합니다. print()와 마찬가지로 줄바꿈을 하지 않지만, %d 같은 서식 지정자로 출력 형식을 세밀하게 지정할 수 있다는 점이 다릅니다.

java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…

서식 지정자는 여러 개 사용할 수 있습니다. 순서대로 뒤에 나열한 값이 채워집니다.

java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…

주요 서식 지정자

서식 지정자의미예시
%d정수(1, 42 같은 소수점 없는 숫자)printf("%d", 42) → 42
%s문자열printf("%s", "감자") → 감자
%f실수 (소수점 6자리)printf("%f", 3.14) → 3.140000
%c문자 1개printf("%c", 'A') → A
%%% 기호 자체printf("100%%") → 100%

%f는 소수점 이하 6자리를 출력하며, 자리가 부족하면 0으로 채웁니다. 3.14를 출력하면 3.140000이 되는 이유입니다.

%c는 작은따옴표로 감싼 문자 1개를 출력합니다. 작은따옴표('A')는 문자 하나를, 큰따옴표("A")는 문자열을 나타내는 점이 다릅니다.

자릿수 지정

서식 지정자에 숫자를 넣어 자릿수를 지정할 수 있습니다.

빈칸이 눈에 보이도록 앞뒤에 |를 붙여 출력해 보겠습니다.

java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…

%5d는 총 5칸을 확보한 뒤 숫자를 오른쪽에 맞춥니다. 42는 2자리이므로 5 - 2 = 3칸이 왼쪽에 빈칸으로 남습니다.

java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…

%-5d처럼 -를 붙이면 5칸 안에서 왼쪽에 맞추고, 남은 3칸은 오른쪽 빈칸이 됩니다.

java
코드 하이라이팅 중…
출력
코드 하이라이팅 중…

%.2f는 소수점 이하 2자리까지 출력합니다.


연습 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.

Footnotes

  1. Java에서 화면(표준 출력)에 값을 보내는 통로입니다. System은 시스템 기능을 담은 클래스, out은 그 안의 출력 객체입니다. ↩

  2. Java에서 특정 동작을 수행하는 코드 묶음입니다. 다른 언어에서는 함수라고도 합니다. ↩

  3. 엄밀히는 Java의 char는 UTF-16 코드 단위이지만, 영문자·숫자 문자의 코드 값은 ASCII와 동일합니다. ↩

  4. 항상 int인 것은 아닙니다. '3' + 1L처럼 long과 계산하면 long, '3' + 1.0처럼 double과 계산하면 double이 됩니다. 더 큰 타입 쪽으로 맞춰집니다. ↩

  5. Java에서 문자열을 저장하는 참조 타입입니다. int, double 같은 기본 타입과 달리 대문자로 시작합니다. ↩

  6. 출력할 값이 들어갈 자리를 표시하는 기호입니다. %d는 정수, %s는 문자열 자리를 나타냅니다. ↩


메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(1개)
  • 문자열의 기초
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999