책 내용 질문하기
java언어 void
도서
2023 시나공 정보처리기능사 실기
페이지
0
조회수
230
작성일
2023-08-06
작성자
김*훈
첨부파일

안녕하세요

정보처리 기능사 실기 22년 5월 2회에 18번문제는 void가 있어서 메인과 increse의 n(10)이 다른 것을 나타내는것이다. 반환값이 없다고하는데요

 

같은 시험회차 문제 8번에 보면 문제가 조금 다르긴하지만

여기도 main문에도 void가 있고

밑에 pa앞에도 void가 있는데 출력위치가 메인이아니라 밑에 pa 부분에 system out printf여서 void가 있어도 출력값에 있어서 차이가 생기는 건가요?!

 

void조건?!이 궁금합니다.

답변
2023-08-07 09:34:06

안녕하세요 길벗수험서 운영팀입니다.

 

void는 단순히 반환값이 존재하지 않는다는 것을 의미합니다.

main() 메소드로 돌려줄 값이 존재하지 않는다는 의미죠.

(main()의 void는 main()을 호출한 더 상위의 프로세스가 존재하지 않아 돌려줄 주체가 없으므로 void가 사용되는 것입니다.)

 

문제 8번은 at.pa() 메소드를 호출한 후 해당 코드를 수행하는 프로그램입니다.

출력문은 main()에 있건, pa()에 있건 관계없이 화면에 출력되며, void와는 아무 관계가 없습니다.

 

행복한 하루되세요 :)

  • 관리자
    2023-08-07 09:34:06

    안녕하세요 길벗수험서 운영팀입니다.

     

    void는 단순히 반환값이 존재하지 않는다는 것을 의미합니다.

    main() 메소드로 돌려줄 값이 존재하지 않는다는 의미죠.

    (main()의 void는 main()을 호출한 더 상위의 프로세스가 존재하지 않아 돌려줄 주체가 없으므로 void가 사용되는 것입니다.)

     

    문제 8번은 at.pa() 메소드를 호출한 후 해당 코드를 수행하는 프로그램입니다.

    출력문은 main()에 있건, pa()에 있건 관계없이 화면에 출력되며, void와는 아무 관계가 없습니다.

     

    행복한 하루되세요 :)

  • 관리자
    2023-08-09 10:38:55

    안녕하세요 길벗수험서 운영팀입니다.

     

    음.. 이 부분에서 혼동하신 것 같습니다.

     

    문제 18번의 경우 메소드가 종료했고, 메소드로 인해 변경된 값이 없는 상태에서 n을 출력했으니 10이 출력됩니다. 

    만약 여기서 print문이 아래와 같은 위치에 있었다면 11을 출력하게 되겠죠.

     

     

    main()에서 메소드를 수행한 후의 값을 출력할 경우 메소드로 인해 값이 변경되었는지 확인해야 하지만,

    메소드에서 값을 출력할 경우 메소드에서 수행한 변경점만을 생각하면 된다는 것을 기억해 두세요.

     

    행복한 하루되세요 :)

  • *
    2023-08-08 20:24:41

    그러면 void pa쪽에서 prinf없이

    메인으로 가게하는 글과 메인쪽에서 prinf가 있으면 반환값이안돌아오나요?!

    두 문제의 차이점을 정확하게모르겠네요

     

    Prinf가 메인에있냐 호출된함수쪽에있냐(메인으로 다시 돌아가지않느냐)

    이 차이인지 궁금합니다

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.