출력 - 객체 오답정리

sungsimdangmascot·2026년 4월 13일

[Java] 이중 반복문과 숫자 제어 핵심 오답 노트

1. 이중 반복문의 기본 구조 이해

이중 반복문은 표(격자) 모양의 데이터를 만들 때 필수적으로 사용한다.

for (int i = 0; i < number; i++) {       // 바깥쪽: 행(줄) 관리자
    for (int j = 0; j < number; j++) {   // 안쪽: 열(칸) 관리자
        System.out.print(count + " ");   // 실제 데이터 출력
    }
    System.out.println();                // 한 줄이 끝나면 엔터(줄바꿈)
}

자주 하는 착각 (오답 포인트)

  • 질문:ij 두 개가 필요한가?
  • 정답: 자바는 한 번에 한 줄씩만 화면에 출력할 수 있다. 따라서 '옆으로 5번 찍기'라는 행동을 '밑으로 5줄 만들기'라는 틀 안에 넣어야 5x5 모양이 완성된다. 바깥쪽 반복문(i)이 한 번 돌 때, 안쪽 반복문(j)은 정해진 횟수만큼 전체를 다 돌아야 다음 줄로 넘어간다.

2. 변수 활용의 이유: numbercount

왜 숫자 5 대신 변수 number를 쓰는가?

  • 이유: 유지보수의 편리함 때문이다. 코드 곳곳에 숫자 5를 직접 적어두면 나중에 크기를 변경할 때 모든 숫자를 일일이 찾아 고쳐야 하며, 이 과정에서 실수가 발생할 확률이 높다. 맨 윗줄의 number 변수 값만 수정하면 아래의 모든 반복문 조건이 자동으로 변경되므로 효율적이다.

count는 반복문 밖에서 선언하는가?

  • 상황: 1부터 25까지 숫자가 끊기지 않고 이어져야 하는 경우.
  • 오답 케이스: 만약 int count = 1;for문 안쪽에 넣으면, 줄이 바뀔 때마다 변수가 다시 선언되어 숫자가 계속 1로 초기화된다.
  • 해결: 반복문 외부에서 변수를 선언하고 내부에서 count++를 해줘야만, 반복문이 도는 동안 숫자가 누적되어 1, 2, 3... 25까지 이어진다.

3. 출력 메서드의 구분: print vs println

가장 기초적이지만 실기 시험에서 가장 많이 실수하는 부분이다.

  • System.out.print(): 괄호 안의 내용을 출력한 뒤 커서를 그 자리에 둔다. 숫자를 옆으로 나열할 때 사용한다.
  • System.out.println(): 내용을 출력한 뒤 혹은 내용 없이 사용하면 줄바꿈(Enter)을 수행한다. 한 줄 작성이 끝난 뒤 다음 행으로 넘길 때 사용한다.

4. 논리적 숫자 조작 (삼각형과 역순)

직각 삼각형 모양 만들기 (j <= i)

안쪽 반복문의 끝점을 고정된 숫자(number)가 아닌 바깥쪽 변수(i)로 잡으면 줄마다 출력되는 개수가 달라진다. 1번 줄에서는 1개, 2번 줄에서는 2개씩 찍히며 삼각형 모양이 형성된다.

역순 및 로테이션 계산식

  • 역순 시작점 계산: (number - 1 - i) * number + 1과 같은 식을 사용하여 각 행의 시작 숫자를 강제로 지정한다.
  • 로테이션(1~5 순환): 나머지 연산자 %를 활용한다. (i + j) % 5 + 1 공식을 사용하면 숫자가 5를 넘는 순간 다시 1로 돌아가며 빙글빙글 도는 구조를 만들 수 있다.

profile
성심당마스코트

0개의 댓글