guricode

[메모]println 과 printf의 차이 본문

web/java&spring

[메모]println 과 printf의 차이

agentrakugaki 2025. 5. 13. 21:20

산술연산자 실습 중 기존에 사용하던 println과 다른 printf 를 사용하는 것을 발견했다.

두개의 차이점은 무엇일까?

일단 println과 printf  모두 출력한다는 점에서는 동일하다

 


1. System.out.println() 기본 출력 방식

System.out.println()은 Java에서 가장 기본적인 출력 메서드다. 괄호 안의 값을 그대로 출력한 후, 자동으로 줄바꿈(\n)을 해준다.

 

System.out.println("Hello");
System.out.println("World");
Hello
World

간단한 로그나 메시지를 출력할 때 사용하기 좋다.


2. System.out.printf()  형식 지정 출력

System.out.printf()는 포맷 문자열을 사용해 값을 원하는 형식으로 출력할 수 있다. 줄바꿈은 자동으로 되지 않기 때문에 \n 또는 %n을 직접 작성해야 한다.

 

System.out.printf("이름: %s\n 나이: %d", "홍길동", 25);

%s 는 문자열(string) 을 출력하겟다는 뜻, %d는 정수(decimal)출력, %f는 실수(float)

 

이름: 홍길동
나이: 25

printf는 특히 숫자 정렬, 소수점 자리수, 단위 표현 등이 필요할 때 유용하다.


3. println vs printf 차이점 정리

기능 System.out.println() System.out.printf()
자동 줄바꿈 O X (직접 \n 필요)
포맷 지정 X O (%d, %s, %.2f 등)
추천 용도 간단한 텍스트 출력 정렬된 출력, 포맷 출력
난이도 초급 중급 (C 스타일 포맷 지식 필요)

정리하자면...

  • 간단한 출력이 필요할 때 → System.out.println()
  • 소수점 자리수, 텍스트 정렬이 필요할 때 → System.out.printf()

예를 들어 계산기나 성적표처럼 데이터를 깔끔하게 정렬해서 보여주고 싶을 땐 printf가 훨씬 보기 좋다.