Java에서 println 디버깅하기

Devkty·2025년 8월 23일

취업도전기

목록 보기
10/32

Java에서 println 디버깅하기

완전히 모르는건 아니지만, 이번기회에 확실히 짚고 넘어가고자 공부해봤습니다.

기본적으로 자바에서 System.out.println()을 이용한 디버깅은 가장 기본적이면서도 빠르고 효과적인 방법입니다.

System.out.println() 디버깅 기본 사용법

1. 변수 값 확인

가장 기본적인 사용법입니다. 변수가 내가 예상한 값을 가지고 있는지 확인합니다. 글자는 “” 쌍따옴표안에 입력하고 +를 추가하여 함수에 대한 값도 출력할 수 있습니다.

팁: 그냥 변수만 출력하기보다, 어떤 변수인지 알아볼 수 있게 문자열을 함께 출력하는 것이 좋습니다.

public class DebugExample {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            sum += i;
            // 반복문이 돌 때마다 i와 sum의 값을 확인
            System.out.println("현재 i 값: " + i + ", 현재 sum 값: " + sum);
        }
        System.out.println("최종 결과: " + sum);
    }
}

출력 결과

현재 i 값: 1, 현재 sum 값: 1
현재 i 값: 2, 현재 sum 값: 3
...
최종 결과: 55

2. 코드 실행 흐름 확인

if문이나 특정 로직이 제대로 실행되는지, 아니면 건너뛰는지 확인할 때 유용합니다.

int score = 75;

if (score >= 90) {
    System.out.println("A 등급 블록 실행됨");
    // ... 로직 ...
} else if (score >= 80) {
    System.out.println("B 등급 블록 실행됨");
    // ... 로직 ...
} else {
    System.out.println("B 등급 미만 블록 실행됨"); // 이 부분이 실행될 것을 예상
    // ... 로직 ...
}

출력 결과

B 등급 미만 블록 실행됨

특정 함수 입출력 디버깅

함수(메서드)를 디버깅할 때는 입력(파라미터)과 출력(반환 값)을 확인하는 것이 가장 중요합니다.

아래 calculateSum 함수를 디버깅하는 예시입니다.

public class FunctionDebug {

    // 두 숫자를 더하는 간단한 함수
    public static int calculateSum(int a, int b) {
        // 1. 함수 시작과 파라미터 값 확인
        System.out.println("--- calculateSum() 함수 시작 ---");
        System.out.println("입력받은 파라미터 a: " + a);
        System.out.println("입력받은 파라미터 b: " + b);

        // 2. 주요 로직 중간 결과 확인
        int result = a + b;
        System.out.println("중간 계산 결과(result): " + result);

        // 3. 반환 직전의 최종 값 확인
        System.out.println("반환될 값: " + result);
        System.out.println("--- calculateSum() 함수 종료 ---");
        return result;
    }

    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 20;
        int finalResult = calculateSum(num1, num2);
        
        System.out.println("main에서 받은 최종 결과: " + finalResult);
    }
}

출력 결과

--- calculateSum() 함수 시작 ---
입력받은 파라미터 a: 10
입력받은 파라미터 b: 20
중간 계산 결과(result): 30
반환될 값: 30
--- calculateSum() 함수 종료 ---
main에서 받은 최종 결과: 30

이렇게 함수의 시작, 파라미터, 중간 과정, 최종 반환 값을 모두 출력하면 어디서 문제가 발생했는지 정확하게 파악할 수 있습니다.
만약에, 디버깅이 끝났다면 주석처리를 하여 원하는 결과값만 출력하면 됩니다.

profile
모든걸 기록하며 성장하고 싶은 개발자입니다. 현재 크래프톤 정글 8기를 수료하고 구직활동 중입니다.

0개의 댓글