책 내용 질문하기
51p 2번 문제 해설 질문입니다.
도서
2026 시나공 프로그래밍기능사 필기 기본서
페이지
51
조회수
126
작성일
2026-07-12
작성자
이*훈
첨부파일

문제2의 연산에 대해

연산을 진행하는 순서가 (1) --a, (2) c--, (3) ++a라고 해설되어 있는데


or 및 and의 연산공식을 따른다면

좌항 먼저 계산 후, 좌항의 결과가 T/F인지에 따라 우항이 무시되지 않습니까?


해설의 의도가 앞선 연산자 우선순위의 '결합 규칙'을 지킨다는 것 같은데

그럼에도 왜 증감 연산자가 식 전체 기준 우측부터 계산되는지에 대한 명확한 이해가 어렵습니다.


결합규칙이란

우선순위가 같은 연산자가 연속되어 있을 때 (이항의 경우에는 1+1+1, 단항의 경우엔 !!0처럼)

어느 연산자부터 먼저 계산되는가에 관한 규칙으로 알고 있는데


문제의 ++a, c--, --a의 연산 순서에 관해서는

결합규칙에 의거해 우->좌가 아닌

식 계산 방향에 따른 (1)++a, (2) c--, (3) --a가 올바른 계산 순서라고 생각합니다.


JAVA의 문법에는 문외한이라, 혹 잘못 알고 있는게 아닌가 싶어 질문 남깁니다.

답변
2026-07-14 11:20:25

안녕하세요.

질문하신 내용은 매우 좋은 지적입니다.

결론부터 말씀드리면 질문하신 해석이 Java의 실제 평가 규칙에 더 가깝습니다.

교재 해설은 증감 연산자의 효과만 설명하기 위해 단순화한 것으로, 실제 실행 순서를 그대로 설명한 것은 아닙니다.

다만 원문자 번호가 실제 실행 순서를 의미하는 것으로 오해될 수 있다는 점을 확인하였습니다.

차기 수정 시에는 원문자 번호와 해설을 보완하여 실행 순서와 혼동되지 않도록 개선하겠습니다.

즐거운 하루 되세요.

  • 관리자
    2026-07-14 11:20:25

    안녕하세요.

    질문하신 내용은 매우 좋은 지적입니다.

    결론부터 말씀드리면 질문하신 해석이 Java의 실제 평가 규칙에 더 가깝습니다.

    교재 해설은 증감 연산자의 효과만 설명하기 위해 단순화한 것으로, 실제 실행 순서를 그대로 설명한 것은 아닙니다.

    다만 원문자 번호가 실제 실행 순서를 의미하는 것으로 오해될 수 있다는 점을 확인하였습니다.

    차기 수정 시에는 원문자 번호와 해설을 보완하여 실행 순서와 혼동되지 않도록 개선하겠습니다.

    즐거운 하루 되세요.

  • 이*훈
    2026-07-14 21:59:03
    친절한 답변 감사합니다.
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.