책 내용 질문하기
2022년 3회 대비 다운받은것 중에 기출 2회에 1번 문제
도서
2022 시나공 정보처리기능사 실기
페이지
0
조회수
136
작성일
2022-10-18
작성자
탈퇴*원
첨부파일
1번 문제에서 클래스를 선언하고 클래스a,b에 8 10을 넣어준뒤
함수로 보내주었는데 함수안에서 연산하고 리턴하지 않았는데
8 10이 함수안에서 9 9 로 바뀐것이지 함수 밖에서는 8 10 유지 아닌가요
클래스안의 변수 접근은 전역 변수처럼 접근해서 함수안에서 계산한것이 유지가 되네요
답변
2022-10-19 09:44:44
안녕하세요 길벗수험서 운영팀입니다.
객체 변수의 경우 배열의 이름과 같이 객체 변수의 이름을 인수로 보내게 되면,
해당 객체에 속한 요소들의 '값'이 아닌, 객체의 첫 번째 '주소'가 전달되게 됩니다.
때문에 hrd()의 Myint는 main()의 Myint가 사용하던 메모리 주소를 받아서 작업을 수행하므로,
hrd()에서의 변경점이 main()의 Myint에도 그대로 적용되는 것이죠.
행복한 하루되세요 :)
-
관리자2022-10-19 09:44:44
안녕하세요 길벗수험서 운영팀입니다.
객체 변수의 경우 배열의 이름과 같이 객체 변수의 이름을 인수로 보내게 되면,
해당 객체에 속한 요소들의 '값'이 아닌, 객체의 첫 번째 '주소'가 전달되게 됩니다.
때문에 hrd()의 Myint는 main()의 Myint가 사용하던 메모리 주소를 받아서 작업을 수행하므로,
hrd()에서의 변경점이 main()의 Myint에도 그대로 적용되는 것이죠.
행복한 하루되세요 :)